#运行环境:
.Net 版本:.Net 版本:8.2.1操作系统:Ubuntu 18.04#问题:
将png图片转为jpg图片时,由于png有透明背景,导致导出的jpg图片背景是黑色的;
#解决方法:
1、方法一:使用ColorAlpha
using (MagickImage imagePng = new MagickImage("image.png")){//将透明背景改为白色背景输出imagePng.ColorAlpha(MagickColors.White);imagePng.Write("noTransparency.jpg");}
2、使用MagickImageCollection
+Flatten
using (MagickImageCollection images = new MagickImageCollection()){MagickImage imagePng = new MagickImage("image.png");// 'add background',将背景设为红色MagickImage background = new MagickImage(MagickColors.Red, imagePng.Width, imagePng.Height);images.Add(background);// image.pngimages.Add(imagePng);// +flattenusing (MagickImage result = (MagickImage)images.Flatten()){// noTransparency.pngresult.Write("noTransparency.jpg");}}