Странный черный вывод bmp из BitmapSource - есть идеи?

У меня есть массив byte[] с байтами bgra изображения, из которого я создаю BitmapSource следующим образом:

BitmapSource bmsOut = BitmapSource.Create(
iPixelWidth, iPixelHeight, 96, 96, PixelFormats.Bgra32, null, bytOutput, iStride);      

это отлично отображается на элементе изображения wpf. ОДНАКО, когда я пытаюсь создать файл из BitmapSource:

private void mtdSave(BitmapSource bitmapSource, string path, BitmapEncoder encoder)
          {
              using (var stream = new FileStream(path, FileMode.Create))
              {
                  encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
                  encoder.Save(stream);
              }
          }

Я получаю странный вывод, зависящий от используемого кодировщика: bmp дает немного, может быть, 10x10 пикселей, изображение центра изображения в черном море, png делает то же самое без черного. Отображаемая область выглядит так, как будто изображение было обрезано контуром эскиза (просто для описания визуального эффекта). Кроме того, если вы затем откроете png в Paint, изображение будет отображаться целиком, но не для версии bmp (Irfanview не может справиться с любым из файлов)

Что здесь происходит? Что мне не хватает?


person The English Patient    schedule 16.01.2012    source источник
comment
Можешь кинуть ссылку на скриншоты?   -  person ChrisF    schedule 16.01.2012
comment
Я пытался добавить фотографии, но как новый пользователь ваш спам-фильтр не пускает меня   -  person The English Patient    schedule 16.01.2012
comment
Вы все еще можете опубликовать ссылку (я думаю) или даже добавить ее в комментарии, и кто-то отредактирует ее в вопросе для вас.   -  person ChrisF    schedule 16.01.2012


Ответы (1)


Какой тип BitmapEncoder вы используете? Вы пробовали PngBitmapEncoder?

person MyKuLLSKI    schedule 16.01.2012
comment
Да, я использую PngBitmapEncoder для png и BmpBitmapEncoder для bmp — я только что проверил еще раз. - person The English Patient; 16.01.2012
comment
думаете, вы можете опубликовать репродукцию вашего проекта? - person MyKuLLSKI; 16.01.2012
comment
PngBitmapEncoder и сохранение его в виде файла .png вместо .bmp сделало мое черное изображение нормальным: DDDDDD - person ; 19.09.2012