检索和编辑照片标签'在Windows 10 UWP应用程序中

时间:2015-08-18 14:30:20

标签: windows-10

我正在尝试访问(并最终编辑)存储在Windows中文件中的标记,以在我的UWP Windows 10应用程序中驱动某些逻辑。

var storageFile = await StorageFile.GetFileFromPathAsync(Path.ToString());
var imageProperties = await storageFile.Properties.GetImagePropertiesAsync();

返回以下内容:

  • 相机制造商
  • 相机型号
  • DateTaken
  • 高度/宽度
  • 关键字(System .__ ComObject)
  • Lat / Long
  • 取向
  • 评分
  • 人名(System .__ ComObject)

虽然这很有用,但它没有帮助。也许'关键字'是正确的,但是当我使用Windows资源管理器属性对话框查看图像时,我会看到一个标签'财产,它有一个价值。

var atts = new List<string>();
atts.Add(SystemProperties.Keywords);
atts.Add(SystemProperties.Rating);
atts.Add(SystemProperties.Comment);
var other = await storageFile.Properties.RetrievePropertiesAsync(atts);

这是我正在使用的代码。问题是这个方法总是返回null。

1 个答案:

答案 0 :(得分:0)

关于元标签,似乎经常有同义词。标签和关键字似乎用于我所见过的相同的事情。我最近一直在研究同一个话题,而且我被困在关键词上。但是,我将分享一些我认为有用的链接:

https://msdn.microsoft.com/en-us/library/windows/apps/mt244350.aspx 具有用于读取和写入元数据的UWP代码。代码有点冗长。

我发现下一个链接做得更简洁:

Exif tags on universal Windows Platform C#

按照他们的模式我可以像这样添加作者和标题:

=" " + Chr(183) + " " + 
 Join(Lookupset(Fields!ProjectName.Value,
            Fields!ProjectNames.Value,
            Fields!TaskBaseline0FinishDate.Value & " - " & Fields!TaskName.Value, 
            "DsActivitiesCompleted"),
            vbCrLf + " " + Chr(183) + " ")

它也适用于评论。

这包含了MS认为与am image相关的所有元数据的链接。 https://msdn.microsoft.com/en-us/library/windows/apps/xaml/ee872003.aspx