如何将JPEG注释添加到现有JPEG图像文件

时间:2013-10-17 19:35:57

标签: c++ c libjpeg

有没有办法使用libjpeg将JPEG注释(“COM”标记)添加到现有的JPEG图像文件中?

通过首先将现有图像解压缩到内存缓冲区,然后使用jpeg_write_marker(... JPEG_COM ...)再次压缩原始图像以添加注释并保存到磁盘,当然可以这样做。除非首先需要解压缩,否则这样做似乎有点过头了。

3 个答案:

答案 0 :(得分:5)

有一个名为wrjpgcom的工具,它是libjpeg的一部分。我认为它做你想要的。也许你可以查看它的source来了解它是如何完成的。

答案 1 :(得分:2)

您可以在写入输出文件期间使用jpeg_write_marker()在设置后编写注释。然后,使用jpeg_read_coefficients()jpeg_write_coefficients()(代替普通的jpeg_read_scanlines()jpeg_write_scanlines())来读取和写入原始的压缩数据,而无需实际解压缩和重新压缩它。

请参阅libjpeg documentation中的“真正的原始数据:DCT系数”部分。请务必阅读那里提到的所有注意事项。

答案 2 :(得分:0)

有人可能会使用由Mwisoft创建的JPEG评论编辑器。它使用Windows自动添加/编辑JPEG注释,而不是右键单击JPEG文件并单击属性以手动添加注释。