vs2010中CBitmap静态图片控件只能显示出在资源中的位图,如何使用CImage类使控件支持jpg等其他格式图片?

这是我写的程序,如何修改使其能显示其他格式图片?
2025-05-04 11:55:01
推荐回答(1个)
回答(1):

    CRect rc;
    GetClientRect(rc);
    CImage image;
    image.Load(_T("c:\\1.jpg")); //图片文件路径
    if (image.GetBPP() == 32)
    {
        int i; int j; 
        for (i = 0; i < image.GetWidth(); i++)
        {
            for (j = 0; j < image.GetHeight(); j++)
            {
                byte *pByte = (byte *)image.GetPixelAddress(i, j);
                pByte[0] = pByte[0] * pByte[3] / 255;
                pByte[1] = pByte[1] * pByte[3] / 255;
                pByte[2] = pByte[2] * pByte[3] / 255;
            }
        }
    }
    image.Draw(GetDC()->m_hDC, rc); //dc,rc 可换成控件的,试试