Я использую для проекта функцию, обнаруженную в StackOverflow: https://stackoverflow.com/a/6484754/9535211
Цель этой функции - преобразовать System.Windows.Media.Imaging.BitmapImage в System.Drawing.Bitmap.
public Bitmap BitmapImage2Bitmap(BitmapImage bitmapImage)
{
using (MemoryStream outStream = new MemoryStream())
{
BitmapEncoder enc = new BmpBitmapEncoder();
enc.Frames.Add(BitmapFrame.Create(bitmapImage));
enc.Save(outStream);
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(outStream);
return (new Bitmap(bitmap));
}
}
Он работает довольно хорошо (даже если он действительно тяжелый), но он выдает исключение каждый раз, когда он вызывается: Выдается исключение: 'System.NotSupportedException' в PresentationCore.dll
Этокажется, что это происходит из строки:
enc.Save (outStream);
Есть ли способ заставить его исчезнуть?
Спасибо за вашу помощь!