将大量自定义数据添加到jpg图像文件中

Ang*_*der 5 jpeg file-format exif

我想知道是否存在一种明显且优雅的方法来将其他数据添加到jpeg,同时又使标准图像查看器可读。更准确地说,我想将一张(扫描的)照片背面的图片嵌入其中。旧照片的背面通常写有个人信息,可能是日期或一些便笺。当然可以使用EXIF并添加一些文本,但是背面的实际图像更为可取。当然,我还可以保存2个文件xyz.jpg和xyz_back.jpg,或者并排排列两个图像,它们始终在一张照片中可见,但这不是我想要的。这是可能的并且已经完成,就像在三星Note 2和3上一样,您可以在拍摄的照片中添加手写笔记。

Dre*_*kes 2

一个有趣的问题。有些文件格式支持每个文件多个图像(例如多页 TIFF),但 JPEG 本身并不支持此功能。

JPEG 文件格式的特征之一是 APP 段的概念。这些是 JPEG 文件的区域,可以包含任意信息(作为字节序列)。Exif 实际上存储在这些段之一中,并由前导码标识。

看看这个页面:http://www.sno.phy.queensu.ca/~phil/exiftool/#JPEG

您将看到许多以“APP例如APP0”(可以存储 JFIF 数据)、APP1(可以包含 Exif)等开头的段。

没有什么可以阻止您将数据存储在这些段之一中。符合标准的 JPEG 读取器将忽略这些无法识别的数据,但您可以编写软件来存储/检索其中的数据。甚至可以在这样的段中嵌入另一个 JPEG 文件!然而据我所知,还没有这样做的先例。

另一种选择是将第二个图像作为第一个图像的缩略图。通常缩略图非常小,但您可以将第二个图像存储为第一个图像的缩略图。不过,某些软件可能会替换或删除它。

一般来说,我认为使用两个文件和命名约定是最简单且最不易混淆的,但您确实有选择。