windows phone 获取手机图片库中图片(4)
原文:windows phone 获取手机图片库中图片(4)
前置条件:手机和电脑未连接或连接电脑Zune软件关闭(与Zune软件连接时不允许访问图片库); 版本7.1
获取手机图片库图片的两种方式: PhotChooserTask方式和XNA方式进行获取
PhotChooserTask获取
引用命名空间
//引用//PhotoChooserTask类用到using Microsoft.Phone.Tasks;//BitmapImage类用到using System.Windows.Media.Imaging;
隐藏文件代码:

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 = ;
//设置剪切区域的高度
photoChoose.PixelHeight = ;
}
}
}
知识点①:PhotoChooserTask类的属性,该属性表示是否显示启动相机按钮,一般显示比较好,增加图片来源途径

知识点②:通俗的讲应该是设置或者获取截取区域的高度和宽度

小结: 有裁剪功能是一大特色
XNA方式获取
引用命名空间
//引用XNA库using Microsoft.Xna.Framework.Media;//BitmapImage类用到using System.Windows.Media.Imaging;
MediaLibrary应该可以译为媒体库,它包含了影音,图片,是所有媒体的集合
隐藏文件代码:

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>)
{
BitmapImage bi = new BitmapImage();
//知识点②
Picture pc=pic[];
bi.SetSource(pc.GetImage());
img.Source = bi;
txtName.Text = "图片名称:" + pc.Name + ";\n该图片相集名称:" + pc.Album.Name + ";\n获取照片摄制时间" + pc.Date;
}
}
}
}
知识点①:MediaLibrary是个很有用的类,比如你可以获得里面的歌曲

SongCollection sc = mediaL.Songs;
if (sc.Count > )
{
Song s = sc[];
MediaPlayer.Play(s);
}
知识点②:Picture类的一些属性或者方法会用得到,比如当前图片所在的相集,相集下是否还会包含相集,以及相集的名称,时间等
小结:整体的思路是从集合中逐级剥离,媒体库(影音,图片)-------》图片集合------》图片-----》图片相关属性;之前忘记从哪个博主那里看到如果用到XNA中的类,在提交应用的时候不能通过
运行后的效果图:

windows phone 获取手机图片库中图片(4)的更多相关文章
- Java解析word,获取文档中图片位置
前言(背景介绍): Apache POI是Apache基金会下一个开源的项目,用来处理office系列的文档,能够创建和解析word.excel.ppt格式的文档. 其中对word文档的处理有两个技术 ...
- 怎么获取WebAPI项目中图片在服务端的路径
1.这是我的项目结构. 2.路径格式为:[http://服务器域名/文件夹/文件.扩展名] 测试:假如我要获取到[logo_icon.jpg]这张图.在浏览器的地址栏中输入上面那个格式的路径. 3.可 ...
- JS限定手机版中图片大小随分辨率自动调整
<script type="text/javascript"> var ObjImg = jQuery(".Dy_Content img"); fo ...
- Android_(控件)使用Gallery浏览手机上SD卡中图片
运行截图: (发现后面两张照片是自己自拍,大写的尴尬对图片进行涂鸦了!!!) 程序结构: <?xml version="1.0" encoding="utf-8&q ...
- iOS相册中图片按照时间排序
ios相册默认是按照时间从过去到现在排列,图片顺序有正序和逆序,group可以用以下方法来选择顺序 /** @param NSIndexSet 需要获取的相册中图片范围 @param NSEnumer ...
- 在手机网页中使用USEMAP
因为手机网页中图片大多数使用百分比显示 所以USEMAP的坐标错位 http://files.cnblogs.com/files/jweb/jquery.rwdImageMaps.min.js < ...
- 如何在 Windows Phone 8 中获取手机的当前位置
原文 如何在 Windows Phone 8 中获取手机的当前位置 适用于:仅限于 Windows Phone 8. 本主题演示如何使用 Windows Phone 位置 API 确定手机的当前位置. ...
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManag ...
- XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)
XML序列化 #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...
随机推荐
- 树莓派学习笔记——使用文件IO操作GPIO SysFs方式
0 前言 本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...
- flask开发restful api
flask开发restful api 如果有几个原因可以让你爱上flask这个极其灵活的库,我想蓝图绝对应该算上一个,部署蓝图以后,你会发现整个程序结构非常清晰,模块之间相互不影响.蓝图对restfu ...
- Swift - 移除页面视图上的所有元素
下面代码可以遍历移除页面视图上的所有元件 1 2 3 4 5 6 //清空所有子视图 func clearViews() { for v in self.view.subviews as [U ...
- visio ppt axure AI svg powerdesign xmind
visio ppt axure AI svg powerdesign xmind
- codeforces 659C Tanya and Toys
题目链接:http://codeforces.com/problemset/problem/659/C 题意: n是已经有的数字,m是可用的最大数字和 要求选自己没有的数字,且这些数字的数字和不能超过 ...
- VC生成的DLL给QT的EXE调用时lib路径问题小结
VC生成的DLL给QT调用,有两种方式,一种是隐式调用调用(使用.lib文件方式): ① 在*.pro工程文件中添加VC生成的lib文件路径时,或者使用一个绝对路径,如: LIBS += " ...
- ThinkPHP 关联模型(二十)
原文:ThinkPHP 关联模型(二十) ThinkPHP关联模型 两表关联查询:Message 和 user 关联条件uid(参考手册:模型->关联模型) 步骤: 一:创建Message表 ...
- SQL SERVER CHARINDEX函数
CHARINDEX函数经常常使用来在一段字符中搜索字符或者字符串.假设被搜索的字符中包括有要搜索的字符,那么这个函数返回一个非零的整数,这个整数是要搜索的字符在被搜索的字符中的開始位数.即CHARIN ...
- 在Windows如何解决下Cocos2d-x示例代码TestCpp我找不到lib问题库文件
遇到此问题,首先确定失踪的库文件,然后找到文件夹,库文件. 在编制Cocos2d-x在TestCpp工程,提示缺少lib文件,共同拥有下面2种可靠解决方式: 1.在Cocos2d-x的根文件夹Debu ...
- 类是公共,它应该被命名为.java文件声明
当类的设置public时间,,public只要类的文件名必须是相同的,..这种错误可能发生在不同的