1、从相机中获取图片
当用户使用手机拍照后,我们可以通过程序获取用户的照片。要完成这个操作需要使用在Microsoft.Phone.Tasks的命名空间中的选择器(Chooser)类和启动器(Launcher)类,启动器不返回任何数据,选择器有数据返回。
让我们来看下面给出的示例:
MainPage.xmal
2、 这里是完整的后台处理程序: MainPage.xaml.cs public partial class MainPage : PhoneApplicationPage { CameraCaptureTask camera = new CameraCaptureTask(); // 构造函数 public MainPage() { InitializeComponent(); camera.Completed +=
3、 OnCameraCapTureTaskCompleted;//建议在构造函数中绑定事件 } protected override void OnManipulationStarted(ManipulationStartedEventArgs e) { camera.Show();//显示相机程序 e.Complete();//表示操作已经完成 e.Handled = true;//事件完成,停止路由事件转发
4、 base.OnManipulationStarted(e); } private void OnCameraCapTureTaskCompleted(object sender, PhotoResult args) { if (args.TaskResult == TaskResult.OK)//选择器操作完成 { BitmapImage bmp = new BitmapImage();
5、 bmp.SetSource(args.ChosenPhoto);//将照片数据的流赋给bmp对象 this.iamge1.Source = bmp; } } } 触摸MainPage页面后会触发手机相机程序,模拟器会模拟一个拍照场景,点击拍照后,选择接受,后程序就会把照片显示在Image元素中,效果如下: 从手机图库中获取图片 我们可以也通过PhotoChooserTask类来引导用户进入手机图片库并选择照片,然后将结果返回给程序并显示出来。下面就是具体操作的代码: MainP
6、age.xmal
7、须具有页面范围,因此应在页面中的构造函数之前声明它。 // 构造函数 public MainPage() { InitializeComponent(); photoChooserTask = new PhotoChooserTask();//初始化任务对象 photoChooserTask.Completed += photoChooserTask_Completed;//标识要在用户完成任务后运行的方法。 } prot
8、ected override void OnManipulationStarted(ManipulationStartedEventArgs e) { try { photoChooserTask.Show();//启动任务 } catch (System.InvalidOperationException ex) { MessageBox.Show("An err
9、or occurred:" + ex.ToString()); } e.Complete(); e.Handled = true; base.OnManipulationStarted(e); } private void photoChooserTask_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskRe
10、sult.OK)//选择器操作完成 { BitmapImage bmp = new BitmapImage(); bmp.SetSource(e.ChosenPhoto);//将照片数据的流赋给bmp对象 this.image1.Source = bmp;//将选择的图片显示出来 } } } 程序运行后,通过触摸MainPage页面就会打开手机图片库,选择好图片之后,程序会负责把图片显示到Im
11、age元素中,0万U豆体验卡 卡号:50D890668267e3349e33 密码:686d03401eefba96faba 奖品名称:500万U豆体验卡 卡号:50De7a00c543af387fc0 密码:b26488ce65abc1787202 奖品名称:500万U豆体验卡 卡号:50Dbac638 85c802fd52e 密码:3d1c344384327b85efff 奖品名称:500万U豆体验卡 卡号:50Dd97f0765bdf6998a3 密码:48db1c14e42a2b321fac 奖品名称:500万U豆体50D61 215eb41ae
12、3cc919 密码:25bffae5346e7b7d2548 奖品名称:100万U豆体验卡 卡号:10D1cab621456ab278ab 密码:709f65f32865af2559c2 奖品名称:100万U豆体验卡 卡号:10D8f1d6a4b953f3474e 密码:6e2e4017cce30dc7e055 奖品名称:100万U豆体验卡 卡号:10Dd1fc6d6dd529b6892 密码:a5dbdd8338f91d2c0701 奖品名称:100万U豆体验卡 卡号:10D08377b71d4374262b 密码:1d7a7c21ebd99b798a54






