2009-11-21 117 views
0

在我的應用程序中,我希望使用Windows Create Graphics方法繪製多邊形,然後通過允許用戶選擇多邊形的點並允許重新定位它們來編輯多邊形。更快繪製矢量圖形

我使用moue move事件來獲取點的新位置,以獲取要移動的點的新座標,並使用Paint事件重新繪製多邊形。該應用程序正在工作,但當一個點被移動時,移動不平穩。

我不知道天氣鼠標移動或繪畫事件的性能障礙。

任何人都可以提出一個建議,如何改善?

回答

1

您可能沒有真正的性能問題 - 可能是因爲您只需要畫到屏幕外DC,然後將其複製到窗口中,這樣可以減少閃爍並使運動看起來更平滑。

如果您使用Win32 API進行編碼,請參閱this以供參考。

1

確保您不會爲每次鼠標移動重新繪製。這樣做的正確方法是處理所有輸入事件,修改多邊形數據並設置重繪需要發生的標誌(在不調用UpdateWindow()的情況下,窗口可能只調用InvalidateRect())。

0

...當然,請確保您只使需要重新粉刷的區域無效。由於您正在跟蹤多邊形,因此只會使多邊形區域(前後狀態的矩形聯合)無效。