WPF - 如何保存没有Alpha通道的PNG文件?

5

我有一个BitmapSource。我想把它保存成PNG格式,代码如下:

PngBitmapEncoder enc = new PngBitmapEncoder();
enc.Frames.Add(myBitmapSource);
enc.Save(fs);

如何在没有任何 alpha 通道的情况下保存它?

2个回答

3

在编码之前,使用FormatConvertedBitmap将其转换为每像素24位:

var noAlphaSource = new FormatConvertedBitmap
{
  Source = myBitmapSource,
  DestinationFormat = PixelFormats.Rgb24
};

var encoder = new PngBitmapEncoder();
enc.Frames.Add(noAlphaSource);
enc.Save(fs);

1

24bpp位图没有alpha通道。PNG编码器支持此格式。创建一个具有PixelFormats.Rgb24的WriteableBitmap。


我无法控制我接收到的BitmapSource,如何将我接收到的BitmapSource转换为具有PixelFormats.Rgb24格式的位图源? - Kyle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接