2008年10月10日星期五

wxWidgets 的 StretchBlt 方案

如果用過 Win32 SDK 的人都知道有一個 StretchBlt() function 可以將原有的 bitmap 放大或縮小再顯示出來. 可是在 wxWidgets 卻沒有此功能. 如果要在 wxWidgets 做出類似功能, 我們可以:

1. 將原來的 wxBitmap object 用 wxBitmap::ConvertToImage() 轉為 wxImage object
2. 用 wxImage::Rescale() 改變大小
3. 再用新的 wxImage object 產生新的 wxBitmap object
4. 用 wxDC::DrawBitmap() 顯示新的 wxBitmap object

沒有留言: