0

Преобразование из Image (System.Drawing.Image, Win Forms) в ImageSource (WPF)

Недавно понадобилось это сделать, поскольку в данный момент пишу на c# приложение, использующее как win forms, так и WPF. Кроме того, картинки у меня загружаются из потока (точнее, из БД).
Получилось не сразу, поэтому возможно, мои труды кому-нибудь пригодятся:

using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Media;
using System.Windows.Media.Imaging;
 
namespace ...
{
    class ...
    {
 
    public static ImageSource imageToImgSource(Image image)
    {
        using (var ms = new System.IO.MemoryStream())
        {
            image.Save(ms, ImageFormat.Png);
            var img_source = new BitmapImage();
            img_source.BeginInit();
            img_source.UriSource = null;
            img_source.CacheOption = BitmapCacheOption.OnLoad;
            img_source.StreamSource = ms;
            img_source.EndInit();
            return img_source;
        }
    }
 
    }
}

0 коммент.:

Отправить комментарий