最近接到一個任務,其中有個步驟就將幾張部份透明的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);