在App中讀取Windows Phone 7手機內的照片資源(Picture Hub存取)
同樣的,和存取音樂檔案一樣,手機上的照片檔案存取,也採用一樣的方式,我們可以透過Microsoft.Xna.Framework.Media.MediaLibrary取得用戶儲存於手機上的照片,關鍵在Pictures屬性:
//透過MediaLibrary存取手機照片 Microsoft.Xna.Framework.Media.MediaLibrary lib = new Microsoft.Xna.Framework.Media.MediaLibrary(); foreach (var item in lib.Pictures) { //動態建立Image物件 Image img = new Image(); //加入容器 StackPanel1.Children.Add(img); img.Width = 400; img.Height = 400; //設定圖片來源 BitmapImage bi = new BitmapImage(); //關鍵在item.GetImage取得圖片 bi.SetSource(item.GetImage()); img.Source = bi; }
開發人員需要比較留意的部分,是動態建立的Image物件,是透過source屬性來設定圖片,但圖片來源必須是BitmapImage,因此我們又動態建立了BitmapImage物件,並且透過SeetSource來設定該物件的binary圖形資料來源,而這個資料來源,當然是從item取得,使用的是GetImage()方法。
執行的結果如下:
請留意,Microsoft.Xna.Framework.Media.MediaLibrary.Pictures取得的每一個物件,其型別是Microsoft.Xna.Framework.Media.Picture,這個物件除了可以透過GetImage()取得圖片之外,還有幾個重要的屬性,諸如:Name, Width, Height, Date, Album…分別可用來表達圖片的相關資訊。
留言