Я работаю над проектом, который использует следующую функцию для преобразования между изображениями System.Drawing.Bitmap, которые необходимы для работы с API-интерфейсом System.Drawing.Printing и классом System.Windows.Media.Imaging.BitmapImage., используемый для отображения изображения в WPF:
public System.Windows.Media.Imaging.BitmapImage getDisplayImage(System.Drawing.Bitmap bm)
{
MemoryStream ms = new MemoryStream();
bm.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
System.Windows.Media.Imaging.BitmapImage wpfImg = new System.Windows.Media.Imaging.BitmapImage();
ms.Seek(0, SeekOrigin.Begin);
wpfImg.BeginInit();
wpfImg.StreamSource = ms;
wpfImg.EndInit();
return wpfImg;
}
Это, конечно, работает для задачи, но это медлительно для данных, для которых я его использую (изображения с размерами около 5400 на 3600).Есть ли более эффективный способ преобразования между этими форматами?