У меня есть BitmapSource. Я сохраняю это в PNG, как это:
BitmapSource
PngBitmapEncoder enc = new PngBitmapEncoder(); enc.Frames.Add(myBitmapSource); enc.Save(fs);
Как я могу сохранить его без альфа-канала?
Используйте FormatConvertedBitmap для преобразования в 24 бита на пиксель перед его кодированием:
FormatConvertedBitmap
var noAlphaSource = new FormatConvertedBitmap { Source = myBitmapSource, DestinationFormat = PixelFormats.Rgb24 }; var encoder = new PngBitmapEncoder(); enc.Frames.Add(noAlphaSource); enc.Save(fs);
24-битное растровое изображение не имеет альфа-канала. Поддерживается кодировщиком PNG. Создайте WriteableBitmap с PixelFormats.Rgb24.