我可以编辑JPG / JFIF文件中的缩略图吗?
如果可行 - 如何(使用什么实用程序)?
最终结果必须是缩略图“可以”与jpeg完全不同。
非常感谢, 迈克尔
答案 0 :(得分:0)
通常,缩略图是未压缩的RGB数据。找到标记,查看缩略图的宽度/高度的标记位置,然后修改其后的字节流。流的长度为*高* 3字节。
如果已编入索引,则必须覆盖调色板和索引条目。只需查找APP0标记,即可开始修改。
答案 1 :(得分:0)
兼容的EXIF缩略图图像必须符合64K APP1标记,并且通常压缩为JPEG(与@Karthik所说的不同)。缩略图图像与主图像无关,并且可以轻松更改,因为它位于不影响主图像的标记段内。 JPEG标记段基本上是具有2字节标识符(例如,在这种情况下为FFE1)和2字节长度的独立二进制blob的链表。你可以互换一个,你不会“破坏”文件。没有校验和或其他机制来验证整个文件数据的完整性。我不熟悉用于编辑此信息的库,但您可以使用少量代码来执行此操作,这些代码只需解析标记blob类型和长度而不知道其内容。您还可以通过确保新缩略图不大于原始缩略图来“快速而肮脏”地进行操作,然后您可以将其写入其中,而无需移动文件的其他部分。不会根据标记长度检查标记长度,因此会忽略未使用的空间。