WPF – 如何在没有任何Alpha通道的情况下保存PNG?

我有一个BitmapSource 。 我把它保存到这样的png:

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

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

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

 var noAlphaSource = new FormatConvertedBitmap { Source = myBitmapSource, DestinationFormat = PixelFormats.Rgb24 }; var encoder = new PngBitmapEncoder(); enc.Frames.Add(noAlphaSource); enc.Save(fs); 

24bpp位图没有alpha通道。 由PNG编码器支持。 使用PixelFormats.Rgb24创建一个WriteableBitmap。