在Silverlight中将byte[]转换为BitmapImage

5

为了编写一个游戏,我需要通过WPF应用程序将一些图片序列化到二进制文件中,使用bitmapEncoder及其子类。

但这些类在Silverlight中不可用,因此我无法从同一二进制文件中将它们加载到浏览器中。

有人知道如何在Silverlight中将byte[]转换为BitmapImage吗?

谢谢,

KiTe

2个回答

8
尝试类似以下的方法:
BitmapImage GetImage( byte[] rawImageBytes )
{
    BitmapImage imageSource = null;

    try
    {
        using ( MemoryStream stream = new MemoryStream( rawImageBytes  ) )
        {
            stream.Seek( 0, SeekOrigin.Begin );
            BitmapImage b = new BitmapImage();
            b.SetSource( stream );
            imageSource = b;
        }
    }
    catch ( System.Exception ex )
    {
    }

    return imageSource;
}

0

使用这个方法 首先使用

using System.IO;
using System.Windows.Media.Imaging;

然后

 public Image Base64ToImage(byte[] imageBytes)
       {
           Image img = new Image();
           using (MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
           {
               BitmapImage im = new BitmapImage();
               im.SetSource(ms);
               img.Source = im;
           }
           return img;
       }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接