WPF - Как сохранить PNG без альфа-канала? - PullRequest
5 голосов
/ 04 июня 2010

У меня есть BitmapSource. Я сохраняю это в PNG, как это:

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

Как я могу сохранить его без альфа-канала?

Ответы [ 2 ]

3 голосов
/ 05 июня 2010

Используйте FormatConvertedBitmap для преобразования в 24 бита на пиксель перед его кодированием:

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

var encoder = new PngBitmapEncoder();
enc.Frames.Add(noAlphaSource);
enc.Save(fs);
1 голос
/ 04 июня 2010

24-битное растровое изображение не имеет альфа-канала. Поддерживается кодировщиком PNG. Создайте WriteableBitmap с PixelFormats.Rgb24.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...