为了编写一个游戏,我需要通过WPF应用程序将一些图片序列化到二进制文件中,使用bitmapEncoder及其子类。
但这些类在Silverlight中不可用,因此我无法从同一二进制文件中将它们加载到浏览器中。
有人知道如何在Silverlight中将byte[]转换为BitmapImage吗?
谢谢,
KiTe
为了编写一个游戏,我需要通过WPF应用程序将一些图片序列化到二进制文件中,使用bitmapEncoder及其子类。
但这些类在Silverlight中不可用,因此我无法从同一二进制文件中将它们加载到浏览器中。
有人知道如何在Silverlight中将byte[]转换为BitmapImage吗?
谢谢,
KiTe
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;
}
使用这个方法 首先使用
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;
}