要擦除 MFC 中画上去的 BMP 图片,可以使用 CDC 类的 BitBlt 函数。以下是一个示例代码:

// 声明一个 CDC 对象
CDC dc;

// 创建一个与屏幕兼容的内存 DC
dc.CreateCompatibleDC(NULL);

// 加载 BMP 图片
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);

// 将 BMP 图片选入内存 DC
CBitmap* pOldBitmap = dc.SelectObject(&bmp);

// 获取 BMP 图片的宽度和高度
BITMAP bmpInfo;
bmp.GetBitmap(&bmpInfo);
int bmpWidth = bmpInfo.bmWidth;
int bmpHeight = bmpInfo.bmHeight;

// 在指定位置绘制 BMP 图片
dc.BitBlt(x, y, bmpWidth, bmpHeight, &dc, 0, 0, SRCCOPY);

// 擦除 BMP 图片
dc.BitBlt(x, y, bmpWidth, bmpHeight, NULL, 0, 0, SRCCOPY);

// 恢复原来的选入对象
dc.SelectObject(pOldBitmap);

上述代码中,x 和 y 是要绘制 BMP 图片的位置坐标。首先,创建一个与屏幕兼容的内存 DC,并加载 BMP 图片。然后,使用 BitBlt 函数将 BMP 图片绘制到指定位置。最后,再次使用 BitBlt 函数,将相同大小的矩形区域擦除为 NULL,即可将 BMP 图片擦除。最后,恢复原来的选入对象。

注意:上述示例代码是在 MFC 框架下使用的,需要在 MFC 应用程序的合适位置调用该代码。

MFC 如何擦除画上去的 BMP 图片

原文地址: https://www.cveoy.top/t/topic/fqof 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录