如果没有关键字,则无法添加图像关键字,Taglib-Sharp
Posted
技术标签:
【中文标题】如果没有关键字,则无法添加图像关键字,Taglib-Sharp【英文标题】:Can't add image keywords if there were no keywords to begin with, Taglib-Sharp 【发布时间】:2016-02-15 16:48:56 【问题描述】:我正在尝试使用 Taglib-Sharp 将元数据关键字添加到图像文件中。我的问题是以下代码:
image.ImageTag.Keywords = (string[])newTags.ToArray(typeof(string));
image.Save();
如果文件开头没有关键字,则不执行任何操作。如果我在资源管理器中打开文件属性并首先手动添加标签,它就可以正常工作并将标签添加到文件中。
我尝试在此方法的顶部设置断点,我可以看到 image.ImageTag.Keywords
的长度为零,正如它最初应该的那样,并且 sn-p (string[])newTags.ToArray(typeof(string))
确实成功返回了填充字符串数组,但在那一行之后,image.ImageTag.Keywords
变量的长度仍然为零。
我完全被困在这里,如果我首先手动添加至少一个标签,一切都会很好。仅当文件中没有标签开始时才会出现此问题。
【问题讨论】:
【参考方案1】:好的,经过数小时的调试,我得出的结论是,这个问题是 TagLib 本身的一个错误。如果创建了一个新的图像文件并且该文件的 meta 关键字属性从未手动更改,那么 TagLib 似乎只是忽略设置 image.ImageTag.Keywords
数组并跳过它。为了让它更改文件中的关键字,我必须首先手动向文件添加一个标签,然后将其删除。这会初始化文件本身中的标记属性,因此允许由 TagLib 设置它。如果从未初始化此属性,TagLib 将完全忽略尝试设置 image.ImageTag.Keywords
变量。
那么任何人都可以添加这个并告诉我是否有可能解决这个问题?
【讨论】:
以上是关于如果没有关键字,则无法添加图像关键字,Taglib-Sharp的主要内容,如果未能解决你的问题,请参考以下文章
java方法通过啥关键字返回结果,如果方法没有返回值,则使用啥关键字作为?
添加 springsecurity.taglib.xml 时无法运行项目