You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ImageMagick从Lightroom导出的JPEG中提取Title字段?

Lightroom导出JPEG中Title字段的存储位置

Lightroom为照片设置的Title并不存储在标准EXIF标签中,而是保存在IPTC元数据的ObjectName(对象名称)字段,同时也会写入XMP元数据的dc:title(Dublin Core标题)字段。

用.NET ImageMagick提取Title的方法

你需要主动读取IPTC或XMP元数据来获取Title,示例代码如下:

  1. 读取IPTC的ObjectName字段:
using (var image = new MagickImage("target-image.jpg"))
{
    var iptcProfile = image.GetIptcProfile();
    if (iptcProfile != null)
    {
        // IPTC ObjectName对应的标签编号为2#005
        var title = iptcProfile.GetValue(IptcTag.ObjectName);
        // 使用title变量做后续处理
    }
}
  1. 读取XMP的dc:title字段:
using (var image = new MagickImage("target-image.jpg"))
{
    var xmpProfile = image.GetXmpProfile();
    if (xmpProfile != null)
    {
        var xmpXml = XDocument.Parse(Encoding.UTF8.GetString(xmpProfile.ToArray()));
        XNamespace dc = "http://purl.org/dc/elements/1.1/";
        var title = xmpXml.Descendants(dc + "title").FirstOrDefault()?.Value;
        // 使用title变量做后续处理
    }
}

补充说明

  • Lightroom导出JPEG时默认会同时写入IPTC和XMP元数据,两种读取方式均可获取Title;
  • 你之前只看到EXIF数据,是因为ImageMagick默认不会主动暴露IPTC/XMP,需要显式调用GetIptcProfile()或GetXmpProfile()方法;
  • 你提取到的Caption(对应EXIF的ImageDescription),同时也会写入IPTC的Caption/Abstract(2#120)和XMP的dc:description字段。

内容的提问来源于stack exchange,提问作者Duncan Mackenzie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 06:42:03