所以,我正在编写一个文本编辑器。我使用双缓冲来绘制到屏幕上。所以基本上我有一个我在上面绘制的屏幕外位图,然后将其复制到屏幕上。现在,当文本编辑器的窗口调整大小时,我还需要调整屏幕外位图的大小。那么调整位图大小的好方法是什么?我想要删除旧对象并使用CreateCompatibleBitmap
创建一个新的位图,但我想知道这是否是正确的方法。
语言:使用Win32 API的C ++
答案 0 :(得分:3)
使用CreateCompatibleBitmap将起作用,然后您需要在其上调用BitBlt以将现有后备缓冲区的内容复制到调整大小的缓冲区。我不认为使用GDI有更有效的方法。
答案 1 :(得分:0)
如果正在考虑将CreateCompatibleBitmap与BitBlt一起使用,则可能要看一下StretchBlt。 StretchBlt的工作方式类似于BitBlt,但会调整源图像的大小以适合目标区域。