2010-07-26 61 views
5

出于游戏的目的,我需要使用bitmapEncoder及其子类在一个二进制文件中通过WPF应用程序序列化一些图片。byte [] to bitmapImage in silverlight

但是这些类在silverlight中不可用,所以我无法将它们从相同的二进制文件加载到浏览器中。

有人知道如何将一个字节[]转换为Silverlight中的BitmapImage吗?

感谢,

风筝

回答

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; 

then

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; 
     }