将Xmp元数据写回到文件

时间:2018-11-15 07:49:52

标签: c# .net metadata xmp metadata-extractor

我正在使用图像处理API,该API将图像的大小调整为jpg到png。在此过程中,图像会丢失元数据。

是否有一种方法可以将元数据写回到文件中。 我可以从原始文件中获取xmp元数据,但是现在我需要将其写回到新文件中。

到目前为止,这是我使用.Net的元数据提取器框架的代码

public static void ReadXmpData(string fileLocation)
    {
        var xmpDirectory = ImageMetadataReader.ReadMetadata(fileLocation).OfType<XmpDirectory>().FirstOrDefault();

        foreach (var property in xmpDirectory.XmpMeta.Properties)
        {
            Console.WriteLine($"Path:\t{(property.Path != null ? property.Path.Trim() : property.Path)}\n" +
                                $"Namespace:\t{(property.Namespace != null ? property.Namespace.Trim() : property.Namespace)}\n" +
                                $"Value:\t{(property.Value != null ? property.Value.Trim() : property.Value)} \n\n\n");
        }
    }

任何帮助或指导将不胜感激。

编辑:我知道元数据提取器尚不支持xmp数据的写入

1 个答案:

答案 0 :(得分:0)

使用ImageMagick.net可以进行图像转换而不会破坏exif或xmp元数据。我将其用于主要的电影/电视演播室图像,效果很好。