[WindowsPhone] 隨貼即用 - 將圖片存至手機相簿

2013-11-06

簡述 : 將一張Bitmap 存至使用者手機內的相簿

難度 : ★

範例敘述:  一顆按鈕,快照目前整個APP 成為WritableBitmap 並且存至手機相簿

程式碼:


private void btnSaveImageToAlbum_Click(object sender, RoutedEventArgs e)
{
    //因為範例所以直接快照LayoutRoot 物件當作圖片
    var imageSnapResult = new WriteableBitmap(LayoutRoot, null);
 
    using (MemoryStream ms = new MemoryStream())
    {
        //將WritableBitmap 轉成 stream 然後給Medialibrary 存取
        imageSnapResult.SaveJpeg(ms, imageSnapResult.PixelWidth, imageSnapResult.PixelHeight, 100, 100);
        ms.Seek(0, SeekOrigin.Begin);
        MediaLibrary library = new MediaLibrary();
        library.SavePictureToCameraRoll(".jpg", ms);
        MessageBox.Show("存至相簿成功");
    }
}

範例結果:
2013-11-06_164147

按下儲存後,至相簿檢視
2013-11-06_164315

注意事項:

1. 需加入 ID_CAP_MEDIALIB_PHOTO 權限

打開專案下,Properties 中 WMAppManifest.xml 點擊兩下後進入設定
 20131023_152738_thumb1

選擇 Capabilities 並且將 ID_CAP_MEDIALIB_PHOTO 打勾

2013-11-06_162846

2.記得先引用

usingusing Microsoft.Xna.Framework.Media;

下載源碼:


當麻許的超技八 2014 | Donma Hsu Design.