在windowsphone 8中获取照片的真实姓名
本文关键字:真实 照片 获取 windowsphone | 更新日期: 2023-09-27 18:22:18
我无法在windows phone 8中显示我的图片库照片的真实名称。我有一张照片,原名是:chucktod-einstein-2010-1.jpg,chucktod-einstein-2010.2.jpg,Chucktod-ein stein-2010-3.jpg。
我执行这个代码:
MediaLibrary m = new MediaLibrary();
for (int j = 0; j < m.Pictures.Count; j++)
{
var r = m.Pictures[j];
MessageBox.Show(r.Name);
}
MessageBox总是显示这样的名字:"爱因斯坦在黑板上写着查克·托德2010年的粉笔画"。
你如何获得原名?
我找到了这个库并修复了这个问题:
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.phoneextensions.medialibraryextensions.getpath(v=xnagamestudio.42).aspx
using Microsoft.Xna.Framework.Media.PhoneExtensions;
MediaLibrary m = new MediaLibrary();
for (int j = 0; j < m.Pictures.Count; j++)
{
var r = m.Pictures[j];
MessageBox.Show(MediaLibraryExtensions.GetPath(r));
}
使用此代码,我获得了具有原始名称的文件的完整路径。
你可以试试这个:
r.getPath();
然后剥离路径中的文件夹。
如官方文档所示,当访问MediaLibrary
并在生成的Picture
列表中循环时,每个图像都没有相对路径、绝对路径或文件名。
但是可以访问日期、名称(描述,如果有的话)和其他一些属性,所以解决方案是在需要时生成自己的文件名。
如果我们看看内置的Windows Phone相机应用程序和自动上传到Skydrive功能是如何工作的,我的Skydrive相机卷有以下文件名:
- WP_20130716_001.jpg
- WP_20130716_002.jpg
- WP_20130716_003.jpg
上面的模式很容易看到复制(并用您的应用程序名称替换WP):
- WP(下划线)ISO日期格式(下划线)图像编号
您可能会想使用name
属性(即描述)来生成类似桌面的文件名,但name
似乎是可选的,所以根据我的经验,它大多数时候都是空白的。
MediaLibrary API不提供对原始文件名的访问。
Picture.Name
似乎具有保存图片的应用程序所给定的名称。例如,对于通过IE从web下载的图像,它包含类似C:'Data'Users'DefApps'AppData'INTERNETEXPLORER'Temp'Saved Images'image.jpg
的内容。如果图像由SkyDrive应用程序保存,则该名称根本不包含.jpg
扩展名。