用vc++6.0把PNG图片转成BMP图片该怎么转,求指教,如有示例代码更好!

用vc++6.0把PNG格式的图片转成BMP图片该怎么转,求指教,如有示例代码更好!

int main()
{
Mat srcpng = imread("1.png");
imwrite("1.BMP", srcpng);
return 0
}
用opencv

解决这个问题最简单的方式是使用CImage,直接将图像数据中的透明部分替换为白色或其他颜色。

HBITMAP TransparentImage(HBITMAP hBitmap)
{
CImage Image;
Image.Attach(hBitmap);
int nPitch = Image.GetPitch( ) , nBPP = Image.GetBPP( );
LPBYTE lpBits = reinterpret_cast< LPBYTE>( Image.GetBits( ) );

for( int yPos = 0 ; yPos < Image.GetHeight( ) ; yPos ++ )
{
    LPBYTE lpBytes = lpBits + ( yPos * nPitch );
    PDWORD lpLines = reinterpret_cast< PDWORD >( lpBytes );
    for( int xPos = 0 ; xPos < Image.GetWidth( ) ; xPos ++ )
    {
        if( nBPP == 32 && lpLines[ xPos ] >> 24 != 0x000000FF)
        {
            lpLines[ xPos ] |= 0xFFFFFFFF ;
        }
    }
}

return Image.Detach();

}