我想知道PNG是否包含以下数据?
我所做的是将jpg文件转换为png格式,我希望能够检索我在jpg上的相同信息,如下所示:
目前使用此as3 library来读取数据。
答案 0 :(得分:122)
PNG未嵌入EXIF信息。但是,它允许在图像中嵌入元数据“chunks”。一些standardized chunks对应于一些EXIF属性(物理尺寸,时间戳)。并且还可以将任意文本数据存储为key=>value
对,或者定义新的块类型。所以,你理论上可以存储任何EXIF信息......但是,唉,你自己的自定义格式。看来,有些attempts标准化还没有赶上。
编辑:Extensions to the PNG 1.2 Specification的版本1。5。0(2017年7月)终于添加了一个EXIF块。编码器 - 解码器是否开始支持它还有待观察。
答案 1 :(得分:29)
从JPEG图像转换时,ImageMagick将EXIF信息存储在PNG“原始配置文件类型APP1”zTXt块中。 ExifTool也支持这种在PNG图像中存储EXIF的方法(我也相信Exiv2),但它不是PNG或EXIF规范的一部分。
编辑:截至2017年7月,PNG正式支持eXIf块来存储EXIF元数据(specification)。 ExifTool 10.59及更高版本将EXIF写入PNG图像中的这个新块。
答案 2 :(得分:11)
PNG不支持嵌入EXIF信息。当您从JPEG转换为PNG时,信息将丢失。
答案 3 :(得分:6)
从July 2017开始,似乎有一个正式注册的EXIF数据块,名为... eXIf:
eXIf块的数据段包含[CIPA DC-008-2016]“4.7.2压缩数据中APP1的互操作性结构”中指定格式的Exif配置文件,但JPEG APP1标记,长度和不包括4.7.2(C)中描述的“Exif ID代码”,即“Exif”,NULL和填充字节。
请注意,这是A)仅仅几个月(写作时)和B)可选扩展,不是基本规范的一部分。因此,在许多应用中,对eXIf块的支持可能会受到限制。
答案 4 :(得分:2)
您的意思是:
通常,PNG使用作为PNG标准一部分的各种块来存储元数据。要查看您的列表,请执行以下操作:
但令人困惑的是,近年来,eXIf块已添加到扩展块的正式列表中(这实际上是PNG规范的附录)。大概是为了保留从JPEG / TIFF转换为PNG的文件中的信息,而不是打算在最初创建为PNG的文件中使用,但这尚不清楚。
答案 5 :(得分:1)
是,不是。
正如其他答案所言,PNG在v1.5.0(2017)中添加eXIf
之前没有正式的EXIF块,据我所知,该块仍未得到广泛的支持。
但是那是因为不需要它。许多软件按照约定在iTXt
(或压缩的zTXt
)块中将PIF中的EXIF编码为“原始配置文件类型APP1” 。较新的eXIf
块旨在为此提供一个标准化的位置,尽管我认为该船已经航行了。
此外,许多EXIF标准的元数据都可以由XMP表示,XMP是一种替代且较新的元数据传输机制,正是出于此目的,该机制具有EXIF命名空间。多年来,PNG文件以iTXt
块的形式包含XMP文档(包括转换后的EXIF元数据)。您会发现许多处理器都可以在两者之间进行实时转换。