[WindowsPhone] 隨貼即用 - 分享圖片到Faceook、Email、LINE…等

2014-07-15

簡述 : 在設計Windows Phone APP 時候,分享真的圖片(並非只是連結)到facebook , email or Line..

難度 : ★

範例敘述:  快照圖片後,分享到facebook上面

程式碼:


private void BtnShare_OnClick(object sender, EventArgs e)
{
   //將 ContentPanel 快照下來成為WritableBitmap 物件
    var bmp = new WriteableBitmap(this.ContentPanel, null);
    var width = bmp.PixelWidth;
    var height = bmp.PixelHeight;
 
    //用現在的時間當作黨名
    var fn = DateTime.Now.ToString("yyyy-MM-dd-hhmmss");
    
    using (var ms = new MemoryStream(width * height * 4))
    {
        
        bmp.SaveJpeg(ms, width, height, 0, 100);
        ms.Seek(0, SeekOrigin.Begin);
        var lib = new MediaLibrary();
        //儲存至MediaLibrary
        var picture = lib.SavePicture(string.Format(fn + ".jpg"), ms);
        //開啟ShareMediaTask 進行分享
        var task = new ShareMediaTask();
        //填入分享的路徑
        //如果是分享相簿的圖片就是讀取到圖片路徑後填入志FilePath Property 中
        task.FilePath = picture.GetPath();
 
        task.Show();
    }
}

將圖片存至相簿可以參考 WindowsPhone] 隨貼即用 - 將圖片存至手機相簿
範例結果:
一開始畫面

wp_ss_20140715_0005

按下分享後即可選擇可以分享的渠道
wp_ss_20140715_0003

選擇Outlook後
wp_ss_20140715_0004

注意事項 :

1. 需加入 ID_CAP_MEDIALIB_PHOTO 權限

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

選擇 Capabilities 並且將 ID_CAP_MEDIALIB_PHOTO 打勾

2013-11-06_162846

2. 需要引用


using Microsoft.Phone.Tasks;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Media.PhoneExtensions;


下載範例





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