我不能表现出我的照片我的图片库的真实姓名中的Windows Phone 8,我有一个有照片,其原来的名称是:查克·托德 - 爱因斯坦-2010-1.jpg,查克·托德 - 爱因斯坦-2010-2.jpg,查克·托德 - 爱因斯坦-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));
}
有了这个代码,我得到的文件具有原始名称的完整路径。
作为官方文档显示 ,在访问时MediaLibrary
并通过所产生的循环Picture
列表,也没有相对路径,绝对路径或文件名对每个图像。
但有机会获得日期,名称(说明,如果有的话)和其他一些特性 - 这样的解决方案是在需要的时候生成自己的文件名。
如果我们看一下如何内置的Windows Phone相机应用,并自动上传到SkyDrive功能的工作,我的SkyDrive中相机胶卷具有下列文件名:
- WP_20130716_001.jpg
- WP_20130716_002.jpg
- WP_20130716_003.jpg
上面的图案是很容易看到的重现(并与您的应用程序的名称替换WP):
你可能会使用name
属性(即描述),以产生一个类似桌面的文件名,但name
似乎是可选的,所以它是空白的大部分时间,以我的经验。
该MediaLibrary API不提供访问原始文件名。
Picture.Name
似乎已经由保存照片的应用程序指定的名称。 例如,对于通过IE从网上下载的图片,它包含类似C:\Data\Users\DefApps\AppData\INTERNETEXPLORER\Temp\Saved Images\image.jpg
。 如果图像是通过SkyDrive的应用程序保存,名称不包含.jpg
在所有的扩展。