BmpBitmapEncoder сохранение в 24 битном формате

161
29 мая 2022, 11:40
BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = new Uri(dialog.FileName);
src.EndInit();
BitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(src));
                
byte[] data;
using (MemoryStream ms = new MemoryStream())
{
     encoder.Save(ms);
     data = ms.ToArray();
}
MainImage.Source = src;
File.WriteAllBytes(@"D:\gtwg.bmp", data);

есть вот такой код, в wpf, выводит изображение и сохраняет его в bmp. Но bmp сохраняется в 32-ух битном формате, как можно сохранять в 24х битном?

Answer 1

Спасибо, я разобрался FormatConvertedBitmap, решил мою проблему.

BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = new Uri(dialog.FileName);
src.EndInit();
BitmapEncoder encoder = new BmpBitmapEncoder();
FormatConvertedBitmap fcb = new FormatConvertedBitmap();
                
fcb.BeginInit();
fcb.Source = src;
fcb.DestinationFormat = PixelFormats.Bgr24;
fcb.EndInit();
encoder.Frames.Add(BitmapFrame.Create(fcb));
byte[] data;
using (MemoryStream ms = new MemoryStream())
{
     encoder.Save(ms);
     data = ms.ToArray();
}
MainImage.Source = src;
File.WriteAllBytes(@"D:\gtwg.bmp", data);
READ ALSO
elm.Attribute("").Value не равно

elm.Attribute("").Value не равно

Объясните, пожалуйста, почему не работает:

262
вывод данных form data

вывод данных form data

как вытащить значение с form data ? пытаюсь так if ($_POST['r1'] == 1) не получается

243
JavaScript булевые значения

JavaScript булевые значения

решил пройти булевые значения по JS, скачал книжку и наткнулся на пример: Прошу объясните, как в этом примере повлияли булевые значения, если...

195
Как динамически изменить state в react js?

Как динамически изменить state в react js?

У меня есть главный компонент App, в его state я передал массив объектов, а потом этот массив объектов передал через пропс в state второго компонента,...

274