C++中CXimage合併帶透明信息的PNG圖片

最近接到一個任務,其中有個步驟就將幾張部份透明的png圖片合併為一個

出現問題:檔原本背景透明的圖片疊加起來后就不再透明,導致上面的圖將下面的圖全部覆蓋,最後只能看到最後一張

解決方案:剛開始的時候我用的是MixFrom函數,費了半天功夫一直搞不定。在網上找了半天也沒看到解決方法。

後來講CXimage的文檔看了一遍,發現Mix也是可以合併圖片的,於是逐個參數試一試。

CxImage image;
    CString BKPath = "
C:\\BD01.png";
    CString RoadPath = "
C:\\RD0300012.PNG";
    CxImage toImage;
    toImage.Load(BKPath);
    image.Load(RoadPath,CXIMAGE_FORMAT_PNG);

    toImage.Mix(image,CxImage::ImageOpType::OpScreen,0,0,false); //解決方案

    toImage.Save(_T("C:\\test.png"),CXIMAGE_FORMAT_PNG);

你可能感兴趣的:(C++)