UIElementToJpeg メソッド
#wp7dev_jp
画面キャプチャ機能を実装するところで、紹介しましたが、画面上の構成要素である UIElement を渡すとJPEGで保存されるメソッドです。
引数として、対象とするUI Eleent と保存するファイル名を指定すると、ピクチャハブに保存されます。
private void UIElemantToJpeg(UIElement sender, String filename)
{
WriteableBitmap bitmap = new WriteableBitmap(sender, null);
MemoryStream stream = new MemoryStream();
bitmap.SaveJpeg(stream, bitmap.PixelWidth, bitmap.PixelHeight, 0, 80);
using (MediaLibrary medialib = new MediaLibrary())
medialib.SavePicture(filename, stream.ToArray());
MessageBox.Show("Saved");
}
呼び出し側はこんな感じ。
private void ContentPanel_Tap(object sender, GestureEventArgs e)
{
UIElemantToJpeg((UIElement)sender, "contentpanel");
}
オブジェクトをタップすると、そのオブジェクトが jpeg 画像として保存されます。Grid などを指定すればその中身がすべて1つの画像として保存されるので便利。