将System.Drawing.Bitmap转换为WPF的System.Windows.Media.BitmapImage

CathalMF

我收到的位图是用Base64编码的字符串。我成功地将其转换为System.Drawing.Bitmap并将其显示在图片框中的测试Winforms上。该图显示没有问题。

但是,当我尝试将其转换为BitmapImage时,我得到了

元数据='image.Metadata'引发了类型'System.NotSupportedException'的异常

下面是用于执行初始转换和转换为BitmapImage的代码im。需要BitmapImage传递给另一个需要System.Windows.Media.ImageSource的方法。

using (MemoryStream BitmapMS = new MemoryStream(Convert.FromBase64String(base64str)))
{                    
    Bitmap bitmap = new Bitmap(BitmapMS);                    
    TestForm test = new TestForm();
    test.pictureBox1.Image = bitmap;
    test.ShowDialog();

    using (MemoryStream BitmapImageMS = new MemoryStream())
    {
        bitmap.Save(BitmapImageMS, ImageFormat.Jpeg);
        BitmapImageMS.Position = 0;
        var image = new BitmapImage();
        image.BeginInit();
        image.CacheOption = BitmapCacheOption.OnLoad;
        image.StreamSource = BitmapImageMS;
        image.EndInit();
        return image;
    }
}

编辑:我也应该提到即时通讯试图使用.Net 3.5

克莱门斯

您应该像这样解码位图:

public static BitmapSource BitmapFromBase64(string base64String)
{
    var bytes = Convert.FromBase64String(base64String);

    using (var stream = new MemoryStream(bytes))
    {
        return BitmapFrame.Create(stream,
            BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
    }
}

与相比BitmapImageBitmapFrame支持Metadata属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#如何将system.windows.media.brush转换为system.drawing.brush

来自分类Dev

无法将类型'string'隐式转换为'Windows.UI.Xaml.Media.Imaging.BitmapImage

来自分类Dev

将字节 [] 转换为 Windows.UI.Xaml.Media.Imaging.BitmapImage

来自分类Dev

将System :: Drawing :: Bitmap ^转换为:: MAT

来自分类Dev

Windows 10中的新对象System.Windows.Media.Imaging.BitmapImage失败

来自分类Dev

将System.Windows.Media.ImageSource转换为ByteArray

来自分类Dev

将[System.Drawing.Bitmap]转换为[File.IFileAbstraction]

来自分类Dev

将System.Drawing.Icon转换为System.Windows.Controls.Image

来自分类Dev

将bitmapImage转换为Windows存储的字节数组

来自分类Dev

将bitmapImage转换为Windows存储的字节数组

来自分类Dev

如何将System.Windows.Media.DrawingImage转换为Stream?

来自分类Dev

将类型'System.Drawing.Bitmap'转换为'Emgu.CV.IImage'

来自分类Dev

Windows Phone 8.1如何将BitmapImage转换为灰度和黑白?

来自分类Dev

如何将BitmapFrame转换为BitmapImage

来自分类Dev

如何将CroppedBitmap转换为BitmapImage

来自分类Dev

将 BitmapImage 转换为 Image.Source

来自分类Dev

将int转换为System.Drawing.Brushes.SomeColor吗?

来自分类Dev

将System.Drawing.Icon转换为SkiaSharp.SKBitmap

来自分类Dev

将类型转换为System.Drawing.Image

来自分类Dev

将GTK#颜色转换为System.Drawing.Color

来自分类Dev

在Windows Phone应用程序中将动态BitmapImage转换为灰度BitmapImage

来自分类Dev

在Windows Phone应用程序中将动态BitmapImage转换为灰度BitmapImage

来自分类Dev

WPF ComboBox作为System.Windows.Media.Colors

来自分类Dev

UWP中的System.Windows.Media

来自分类Dev

UWP中的System.Windows.Media

来自分类Dev

如何将Drawing.Color转换为Drawing.Brush,Windows窗体

来自分类Dev

在System.Drawing.Bitmap中转换画布的背景?

来自分类Dev

如何从PhotoResult或BitmapImage转换为Bitmap?

来自分类Dev

如何将WPF VB.NET的位图转换为BitmapImage

Related 相关文章

  1. 1

    C#如何将system.windows.media.brush转换为system.drawing.brush

  2. 2

    无法将类型'string'隐式转换为'Windows.UI.Xaml.Media.Imaging.BitmapImage

  3. 3

    将字节 [] 转换为 Windows.UI.Xaml.Media.Imaging.BitmapImage

  4. 4

    将System :: Drawing :: Bitmap ^转换为:: MAT

  5. 5

    Windows 10中的新对象System.Windows.Media.Imaging.BitmapImage失败

  6. 6

    将System.Windows.Media.ImageSource转换为ByteArray

  7. 7

    将[System.Drawing.Bitmap]转换为[File.IFileAbstraction]

  8. 8

    将System.Drawing.Icon转换为System.Windows.Controls.Image

  9. 9

    将bitmapImage转换为Windows存储的字节数组

  10. 10

    将bitmapImage转换为Windows存储的字节数组

  11. 11

    如何将System.Windows.Media.DrawingImage转换为Stream?

  12. 12

    将类型'System.Drawing.Bitmap'转换为'Emgu.CV.IImage'

  13. 13

    Windows Phone 8.1如何将BitmapImage转换为灰度和黑白?

  14. 14

    如何将BitmapFrame转换为BitmapImage

  15. 15

    如何将CroppedBitmap转换为BitmapImage

  16. 16

    将 BitmapImage 转换为 Image.Source

  17. 17

    将int转换为System.Drawing.Brushes.SomeColor吗?

  18. 18

    将System.Drawing.Icon转换为SkiaSharp.SKBitmap

  19. 19

    将类型转换为System.Drawing.Image

  20. 20

    将GTK#颜色转换为System.Drawing.Color

  21. 21

    在Windows Phone应用程序中将动态BitmapImage转换为灰度BitmapImage

  22. 22

    在Windows Phone应用程序中将动态BitmapImage转换为灰度BitmapImage

  23. 23

    WPF ComboBox作为System.Windows.Media.Colors

  24. 24

    UWP中的System.Windows.Media

  25. 25

    UWP中的System.Windows.Media

  26. 26

    如何将Drawing.Color转换为Drawing.Brush,Windows窗体

  27. 27

    在System.Drawing.Bitmap中转换画布的背景?

  28. 28

    如何从PhotoResult或BitmapImage转换为Bitmap?

  29. 29

    如何将WPF VB.NET的位图转换为BitmapImage

热门标签

归档