C# 图像处理-在保存为jpg之前转换透明像素

C# 图像处理-在保存为jpg之前转换透明像素,c#,image-manipulation,C#,Image Manipulation,我正在将带有透明背景的图像保存为jpeg。 有没有一种方法可以在不迭代所有像素的情况下将透明像素转换为特定颜色 这就是我正在使用的代码(也是-第一行是一种常见的方式吗?有不同的编码器吗?) 但这可以另存为png,因为遗憾的是jpg不支持透明度。通常的解决方案是使用所需的背景色制作位图图像,渲染图像,然后将此位图另存/转换为图像 检查。这将为位图提供图形渲染对象 我已经有了透明像素,我想把它们都变成非透明的 public void SaveImage(Bitmap image, string pa

我正在将带有透明背景的图像保存为jpeg。 有没有一种方法可以在不迭代所有像素的情况下将透明像素转换为特定颜色

这就是我正在使用的代码(也是-第一行是一种常见的方式吗?有不同的编码器吗?)


但这可以另存为png,因为遗憾的是jpg不支持透明度。通常的解决方案是使用所需的背景色制作位图图像,渲染图像,然后将此位图另存/转换为图像


检查。这将为位图提供图形渲染对象

我已经有了透明像素,我想把它们都变成非透明的
public void SaveImage(Bitmap image, string path)
{
    var encoder = ImageCodecInfo.GetImageEncoders().FirstOrDefault(c => c.MimeType == "image/jpeg");
    var encodeParams = new EncoderParameters(1);
    encodeParams.Param[0] = new EncoderParameter(Encoder.Quality, (long)100);

    image.Save(path, encoder, encodeParams);
}
image.MakeTransparent(image.GetPixel(0, 0));