你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> windows phone 7 獲取手機圖片庫中圖片

windows phone 7 獲取手機圖片庫中圖片

編輯:IOS開發綜合

前置條件:手機和電腦未連接或連接電腦Zune軟件關閉(與Zune軟件連接時不允許訪問圖片庫); 版本7.1

獲取手機圖片庫圖片的兩種方式: PhotChooserTask方式和XNA方式進行獲取
   PhotChooserTask獲取

引用命名空間
//引用
//PhotoChooserTask類用到
using Microsoft.Phone.Tasks;
//BitmapImage類用到
using System.Windows.Media.Imaging;
   隱藏文件代碼:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
//引用
//PhotoChooserTask類用到
using Microsoft.Phone.Tasks;
//BitmapImage類用到
using System.Windows.Media.Imaging;

namespace ChoosePhoto
{
    public partial class MainPage : PhoneApplicationPage
    {
        //實例化圖片選擇器
        PhotoChooserTask photoChoose = new PhotoChooserTask();
        // 構造函數
        public MainPage()
        {
            InitializeComponent();
            //設置的委托事件
            photoChoose.Completed += new EventHandler<PhotoResult>(photoChoose_Completed);
        }
        //事件處理完得到圖片
        void photoChoose_Completed(object sender, PhotoResult e)
        {
            if (e.TaskResult==TaskResult.OK)
            {
                //實例化位圖
                BitmapImage bi = new BitmapImage();
                //設置位圖源
                bi.SetSource(e.ChosenPhoto);
                //設置元素位圖
                img.Source = bi;
                txtName.Content = e.OriginalFileName;
               
            }
        }
        /// <summary>
        /// button事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void txtName_Click(object sender, RoutedEventArgs e)
        {
            //打開圖片庫
            photoChoose.Show();
            //知識點①
            //是否顯示拍照按鈕
            photoChoose.ShowCamera = true;
            //知識點②
            //設置剪切區域的寬度
            photoChoose.PixelWidth = 50;
            //設置剪切區域的高度
            photoChoose.PixelHeight = 100;
        }
    }
}
  知識點①:PhotoChooserTask類的屬性,該屬性表示是否顯示啟動相機按鈕,一般顯示比較好,增加圖片來源途徑

 
  知識點②:通俗的講應該是設置或者獲取截取區域的高度和寬度


  小結: 有裁剪功能是一大特色

   XNA方式獲取

引用命名空間
//引用XNA庫
using Microsoft.Xna.Framework.Media;
//BitmapImage類用到
using System.Windows.Media.Imaging;
MediaLibrary應該可以譯為媒體庫,它包含了影音,圖片,是所有媒體的集合
隱藏文件代碼:
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
//引用XNA庫
using Microsoft.Xna.Framework.Media;
//BitmapImage類用到
using System.Windows.Media.Imaging;

namespace XNAChoosePhoto
{
    public partial class MainPage : PhoneApplicationPage
    {
       
        //知識點①
        MediaLibrary mediaL = new MediaLibrary();
        // 構造函數
        public MainPage()
        {
            InitializeComponent();
            //獲得圖片的方法
            GetPic();
        }
        /// <summary>
        /// 獲得一張圖片
        /// </summary>
        void GetPic()
        {
            //獲得媒體庫中所有的圖片
            PictureCollection pic = mediaL.Pictures;
            if (pic.Count>1)
            {
                BitmapImage bi = new BitmapImage();
                //知識點②
                Picture pc=pic[0];
                bi.SetSource(pc.GetImage());
                img.Source = bi;
                txtName.Text = "圖片名稱:" + pc.Name + ";\n該圖片相集名稱:" + pc.Album.Name + ";\n獲取照片攝制時間" + pc.Date;
            }
        }
    }
}
知識點①:MediaLibrary是個很有用的類,比如你可以獲得裡面的歌曲


 
MediaLibrary mediaL = new MediaLibrary();
            SongCollection sc = mediaL.Songs;
            if (sc.Count > 1)
            {
                Song s = sc[0];
                MediaPlayer.Play(s);
            }
  知識點②:Picture類的一些屬性或者方法會用得到,比如當前圖片所在的相集,相集下是否還會包含相集,以及相集的名稱,時間等
小結:整體的思路是從集合中逐級剝離,媒體庫(影音,圖片)-------》圖片集合------》圖片-----》圖片相關屬性;之前忘記從哪個博主那裡看到如果用到XNA中的類,在提交應用的時候不能通過

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved