【问题标题】:Jpeg writing xmp for null propertyJpeg 为 null 属性编写 xmp
【发布时间】:2014-09-26 08:20:23
【问题描述】:

我有一个程序可以在 C# 中读取 xmp 数据,但有些图像的某些属性为 NULL,当我尝试为 NULL 属性写入 xmp 数据时,它会出现异常:

找不到属性:HRESULT 异常:0x88982F40

是否可以为 NULL 的属性设置值?

// Credit Status = Copyrighted
metaData.SetQuery("/xmp/xmpRights:Marked", "True");

//overwriting instructions with static text
metaData.SetQuery("/xmp/photoshop:Instructions", Constants.InstructionsText);

var usageTerms = metaData.GetQuery("/xmp/xmpRights:UsageTerms/x-default");

if (string.IsNullOrEmpty(Convert.ToString(usageTerms)))
    metaData.SetQuery("/xmp/xmpRights:UsageTerms/x-default", Constants.UsageTermText);

基本上我需要一个脚本,通过它我可以在 Jpeg 中创建一个新的 XMP 属性?

【问题讨论】:

标签: c# metadata jpeg photoshop xmp


【解决方案1】:

我找到了一个方法,希望对你有帮助! 我在MSDN comments找到了答案

if (!metadata.ContainsQuery(@"/xmp/photoshop:Instructions"))
     metadata.SetQuery(@"/xmp/{wstr=http://ns.adobe.com/photoshop/1.0/}:Instructions", instructions);
if (metadata.ContainsQuery("/xmp/photoshop:Marked"))
     metadata.SetQuery(@"/xmp/{wstr=http://ns.adobe.com/photoshop/1.0/}:Marked", CreditStatus);
if (metadata.ContainsQuery("/xmp/xmpRights:UsageTerms/x-default"))
{
     metadata.SetQuery(@"/xmp/{wstr=http://ns.adobe.com/xap/1.0/rights/}:UsageTerms",
                                          new BitmapMetadata("xmpalt"));
     metadata.SetQuery(@"/xmp/xmpRights:UsageTerms/x-default", usageTerms);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    相关资源
    最近更新 更多