在我的節目,我有一個圖片框,包含一個位圖性能優化(300×35KB PNG文件)C#: - 重畫位圖
如果兩個變量(X/Z座標)發生變化,我畫WindowsForms。一個新的圈子每秒鐘相應的新位置 - 定時器在後臺運行,調用此方法。
void DrawEllipse()
{
// Retrieve the image.
bChamber = new Bitmap(global::Project.Properties.Resources.driveChamber1);
gChamber = Graphics.FromImage(bChamber);
gChamber.FillEllipse(brushChamber, VirtualViewX(), VirtualViewY(), 10, 10);
pictureBoxDriveView.Image = bChamber;
}
現在我正在尋找方法來優化性能。每0.2秒重新繪製圖片,例如這麼慢的節目,我不能做任何事情。但最終我需要一個更圓滑的圓圈運動,你可以想象它是如何滯後1000毫秒刷新率的。
有沒有更好的方法來做到這一點,然後每次加載整個位圖?
我不明白改變變量和這種方法之間的相關性,看起來計時器總是會每秒鐘繪製一個橢圓而不管變化如何? – Sayse 2013-05-10 09:40:05
當然有更好的方法。試圖讓winforms做圖形有點像嘗試在浴室做飯。這只是錯誤的工具。創建一個WPF控件 - 在圖像上方放置一個畫布,將其捆綁成一個,使用WPF Interop導入,在畫布上繪製。 – 2013-05-10 09:45:04
J ..將調查WPF,感謝提示 – 2013-05-10 09:59:32