我想知道,如果我想创建不同的位图,
我CreateCompatibleBitmap
一次又一次地使用该函数,将其关联到同一个内存 CDC。
CreateBitmap
我一次又一次的意思是一样的SelectObject
吗??
我问这个问题是因为我想对另一个 CDC 新创建的位图做点什么。
没有看到具体的代码很难知道确切的问题,但 CreateCompatibleBitmap 通常用于双缓冲情况以避免闪烁。不是直接绘制到设备上下文 (DC),而是首先绘制到屏幕外或内存 DC,它基本上是绘制到位图。然后使用 BitBlt 将位图直接复制到屏幕 DC,因此看起来所有绘图都同时发生。
通常的步骤是这样的(并且可能会在每个 WM_PAINT 上发生):
CreateCompatibleBitmap
.BitBlt
,将内存 DC 的位图放到屏幕 DC 上。此处提供更多信息:Win32 内存 DC 指南(代码项目)
是的,每次循环调用 CreateCompatibleBitmap() 都会创建一个新的位图、一个新的内存分配、一个新的处理程序;