在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…分別可用來表達圖片的相關資訊。
留言