以下是一个示例代码,可以读取MFC资源中的5张bmp图片,并计算位图的宽度和高度,并加载在规定的坐标上:

// 假设资源ID为IDB_BMP1, IDB_BMP2, IDB_BMP3, IDB_BMP4, IDB_BMP5
// 假设图像显示在CDocument类的OnDraw函数中,在坐标(100, 100)处

void CMyDoc::OnDraw(CDC* pDC, CView* pView)
{
    // 加载位图资源
    CBitmap bmp1, bmp2, bmp3, bmp4, bmp5;
    bmp1.LoadBitmap(IDB_BMP1);
    bmp2.LoadBitmap(IDB_BMP2);
    bmp3.LoadBitmap(IDB_BMP3);
    bmp4.LoadBitmap(IDB_BMP4);
    bmp5.LoadBitmap(IDB_BMP5);

    // 创建内存DC
    CDC memDC;
    memDC.CreateCompatibleDC(pDC);

    // 选择位图到内存DC中
    CBitmap* pOldBitmap = memDC.SelectObject(&bmp1);

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

    // 绘制位图到指定坐标上
    pDC->BitBlt(100, 100, bmpWidth, bmpHeight, &memDC, 0, 0, SRCCOPY);

    // 恢复原来的位图对象
    memDC.SelectObject(pOldBitmap);
}

OnDraw函数中,我们首先加载5个位图资源,然后创建一个内存DC,将位图选择到内存DC中。接下来,我们可以通过GetBitmap函数获取位图的宽度和高度。最后,我们使用BitBlt函数将位图绘制到指定的坐标上。

请注意,上述代码仅为示例,需要根据实际情况进行调整和完善。

MFC读取资源中的BMP图片并绘制 - 代码示例

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

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