SilverlightでBitmapImageをStreamまたはbyte配列に変換する方法

1054 ワード

声明:本文転載:http://www.cnblogs.com/yjmyzz/archive/2010/01/15/1648317.html
 
前編「base 64符号化silverlightでの使用」で述べたように、WriteableBitmapオブジェクトはFluxJpegによってbase 64文字列に変換され、WriteableBitmapはBitmapSourceから直接構築され、so...
 
まずBitmapImageをWriteableBitmapに変換し、base 64文字列を取得し、base 64のbyte[]配列を取得し、byte[]をStreamに変更できます.
 
キーコード:
WriteableBitmap wb = new WriteableBitmap(img.Source as BitmapSource);// Image     WriteableBitmap
 
byte[] b = Convert.FromBase64String(GetBase64Image(wb));//  byte  
 
byte[]を画像に復元するには、次の手順に従います.
byte[] b = ...//   b      base64   byte  
MemoryStream ms = new MemoryStream(b);
BitmapImage bitImage = new BitmapImage();
bitImage.SetSource(ms);
img2.Source = bitImage;