0

这与典型的方法相比会有些倒退。

我以前使用 ExifTool 进行元数据操作,但我真的想在做任何事情之前保留最好的元数据备份。

我想要做的是删除 JPEG 文件的压缩图像部分,以保持其他所有内容完好无损。即在文件的开头或结尾备份 EXIF、Makernotes、IPTC、XMP 等。

到目前为止,我尝试的是从原始 JPEG 的副本中删除所有元数据,并将其用作将从原始 JPEG 中取出哪些字节的基础。查看原始数据后,剥离后的副本在原始副本中似乎并不连续。剥离版本中可能仍保留一些标头信息。我真的不知道。我想这不是一个好方法。

是否有任何标记可以绝对告诉我压缩的 JPEG 图像数据在哪里开始和结束?我知道 JPEG 文件有 0xFFD8 和 0xFFD9 来标记图像的开始和结束,但我发现元数据实际上位于这些标记之间。

我正在使用 C#。

谢谢你。

4

2 回答 2

0

要正确执行此操作,您需要完全解析 JPEG/JFIF 格式并丢弃您不想要的任何内容。元数据都保存在 JPEG EOI 之后的 APP 片段或预告片中,所以想必你会折腾其他所有内容。JPEG/JFIF 的完整解析并非易事,为此我建议您参考 JPEF/JFIF 规范。

于 2010-11-19T12:54:23.550 回答
0

您可以使用JpegSegmentReader我的MetadataExtractor库中的类从 JPEG 图像中检索特定片段。

于 2015-08-12T11:53:25.050 回答