看板 C_Sharp 關於我們 聯絡資訊
※ 引述《Arton0306 (沒有怎麼辦)》之銘言: 所以你主要的問題應該是在繪圖的動作佔太多時間所導致的lag.. 我有個方式你試試看合不合用 .__.a 一開始就先配好一個Bitmap , Bitmap bitmap = new Bitmap(....); Graphics g; g = Graphics.FromImage( bitmap ); 然後把你要畫的東西都畫好,除非以後圖有變動,再補繪(或重繪)bitmap 加一個event handler在 Panel的Paint內容如下: private void panel1_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawImage( bitmap, /* 只繪上已繪好的 bitmap */ e.ClipRectangle, /* 只繪捲動後的無效區域 */ new Rectangle( e.ClipRectangle.X - panel1.AutoScrollPosition.X, e.ClipRectangle.Y - panel1.AutoScrollPosition.Y, e.ClipRectangle.Width, e.ClipRectangle.Height ), /* 算出無效區對應的原圖位置 */ GraphicsUnit.Pixel); } 這樣應該就可以了~ 試試看吧 ^^' -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.145.145
Arton0306:感謝! 08/31 10:57