2011-03-29 72 views
0

我發現的當前方式是製作一個位圖並將其繪製到一個圖片框中,但在試圖滾動面板時它非常緩慢( picturebox在一個可滾動面板內)。需要一種方法來顯示圖像並在Visual C++中繪製圖像

有沒有更好的方法來實現這個功能?

+0

我知道Winforms,有一種方法來指定窗體應該雙緩衝。我假設這個屬性在Win32 API中有路由,所以它也可以從MFC訪問。 – jonsca 2011-03-29 13:32:44

+0

它不應該慢。爲什麼它在你的*程序中很慢從你的問題是不可想象的。 – 2011-03-29 13:47:16

+0

難道是我的形象相當大?大約1500x2000px – Atomble 2011-03-29 14:00:50

回答

0

只有在創建圖片框時才加載位圖,然後將其保留在內存中,直到圖片框被銷燬。每次調用OnPaint時加載位圖都會破壞性能。

如果您收到WM_PAINT消息並且沒有任何更改,請確保您沒有重新繪製位圖。

0

那個圖像大小,1500x2000會很慢。如何將其大小調整爲25%以顯示預覽,並且如果用戶希望看到整個圖像,則可能需要一些時間才能提醒他們。