数据如何存储在图像文件中

The*_*Man 12 image

我对低级别如何存储图像数据感兴趣.例如,可以在Windows中提取图像并获取有关图像的信息(使用的相机,日期等).

在一般水平上(我确定png,jpeg等不同),图像是否有某种类型的标题部分,其中定义了属性,可能还有一个主体部分,通过多维数组指定特定像素的颜色?

如果您可以查看类似于网页的来源,那么图片来源可能会是什么样子?如果我在计算机上打开JPEG,前几行看起来像XML.

rob*_*rtc 2

您看到的 XML 是可交换图像文件格式(或 Exif)的一部分。如果您在十六进制编辑器中查看该文件,您应该会看到如下标记:

每个 JPEG 文件都从二进制值“0xFFD8”开始,以二进制值“0xFFD9”结束。JPEG数据中有几个二进制0xFFXX数据,它们被称为“Marker”,表示JPEG信息数据的周期。0xFFD8 表示 SOI(图像开始),0xFFD9 表示 EOI(图像结束)。

PNG 文件始终以这八个字节开头:0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A. 然后,它具有与 JPEG 类似的机制,即使用字节标记来指示数据部分。请在此处阅读完整规范。