WP8 中常用的 WriteableBitmap和BitmapImage相互转换

wp8图片转换

一、WriteableBitmap转为BitmapImage对象

var bi= new BitmapImage();
bi.SetSource(wb.ToImage().ToStream()); //其中wb是WriteableBitmap对象。

二、BitmapImage转为WriteableBitmap对象

//这里就转换完成了
WriteableBitmap wb = new WriteableBitmap(bi.Source as BitmapSource);

三、将WriteableBitmap转为字节数组

byte[] b = Convert.FromBase64String(GetBase64Image(wb));
//这里通过base64间接处理,效率不是很高。

四、将字节数组转为BitmapImage对象

MemoryStream ms = new MemoryStream(b); // b为byte[]
BitmapImage bi = new BitmapImage();
bi.SetSource(ms);
img.Source = bi; //这里img为XAML的Image对象

五、把相册里的图片读取出来

MediaLibrary media = new MediaLibrary();
PictureCollection picture = media.Pictures;
if (picture.Count>0)
{
Picture pic=picture[0];
var bit=new BitmapImage();
bit.SetSource(pic.GetImage());
myPicture.Source =bit;

}

 

posted @ 2014-11-11 23:47  落日云烟  阅读(365)  评论(0)    收藏  举报