c# - 将 Xmp 元数据写回文件
问题描述
我正在使用一个图像处理 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 数据
解决方案
使用ImageMagick.net,它将在不破坏 exif 或 xmp 元数据的情况下进行图像转换。我将它用于主要的电影/电视工作室图像并且效果很好。
推荐阅读
- nginx - 如何在 nginx 中启用 tls1.3?
- javascript - 如何使用JS在计算器中用0修复计算?
- excel - 如何在 .pdf 中搜索字符串并使用 VBA 返回页码
- c - C11中的内存顺序消耗使用情况
- google-cloud-platform - 如何在 App Engine 之外使用 Google Cloud Task?
- java - 如何在java端spring对可分页结果进行排序
- javascript - 使用 JSON Parse 解析数据时出现问题
- reactjs - ReactJS,日期选择器验证开始日期和结束日期
- mongodb - Mongo DB 规范地址与服务器地址不匹配
- kubernetes - 容器端口 pod 与容器端口服务