显示透明的PNG图片

    微软提供了CImage类,使用CImage可以非常方便显示PNG图片。

    1.定义一个成员变量

CImage m_img;

    2.导入png

void LoadPNG(CImage &cimg, const CString& strPath)
{
    if(!PathFileExists(strPath))
    {
        printf("png did not exist.\n");
        return;
    }

    if(!cimg.IsNull())
    {
        cimg.Destroy();
    }
    cimg.Load(strPath);
}

    3.使用的时候只要

LoadPNG(m_img, _T("c:\\某张图片.png"));

    4.显示png

void CDlg::OnPaint()
{
    CPaintDC dc(this);
    if (!m_img.IsNull())
    {
        //透明显示png
        if (m_img.GetBPP() == 32) //确认该图像包含Alpha通道
        {
            for (int i=0; i






你可能感兴趣的:(显示透明的PNG图片)