【发布时间】:2012-01-01 18:16:22
【问题描述】:
所以,我正在开发一个文本编辑器。我使用双缓冲在屏幕上绘画。所以基本上我有一个离屏位图,我在上面画,然后把它复制到屏幕上。现在,当文本编辑器的窗口调整大小时,我也需要调整屏幕外位图的大小。那么调整位图大小的好方法是什么?我想也许可以删除旧对象并使用CreateCompatibleBitmap 创建一个新位图,但我想知道这是否是正确的方法。
语言:使用 Win32 API 的 C++
【问题讨论】:
-
语言?我认为它是 C++ 或 C,但是...
-
为什么需要调整它的大小?听起来这需要时间,而且我看不到好处。
-
@DavidHeffernan:大概用于后台缓冲区的位图的大小与窗口相同。如果窗口增大,则代码将需要更大的后台缓冲区。后台缓冲区可以与虚拟桌面一样大,但这可能大得离谱。此外,对巨大位图的一部分进行 blitting 可能效率低下,并且桌面大小可能会发生变化,因此您仍然必须处理调整大小的问题。平铺方法可能会出现撕裂和闪烁,这会错过使用后台缓冲区的要点。