Оптимизация преобразований между System.Windows.Drawing.Bitmap и System.Windows.Media.Imaging.BitmapImage - PullRequest
0 голосов
/ 26 мая 2011

Я работаю над проектом, который использует следующую функцию для преобразования между изображениями 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).Есть ли более эффективный способ преобразования между этими форматами?

...