PNG是否包含像JPG这样的EXIF数据?

use*_*413 93 png jpeg exif actionscript-3

我想知道PNG是否包含如下数据?

我所做的是将jpg文件转换为png格式,我期待检索我在jpg上的相同信息,如下所示:

目前使用这个as3库来读取数据.

  • IDF0 --- IDF @ [134 - 248](9个条目)
    • 方向(简短):1
    • XResolution(RATIONAL):72/1
    • YResolution(RATIONAL):72/1
    • ResolutionUnit(简称):2
    • 软件(ASCIIx16):QuickTime 7.6.6
    • DateTime(ASCIIx20):2011:10:02 22:43:37
    • HostComputer(ASCIIx16):Mac OS X 10.6.8
    • Exif IFD(LONG):8 34853
    • GPS IFD(长期):248

 

  • EXIF IDF --- IDF @ [8 - 134](10个条目)
    • ExifVersion(UNDEFINEDx4):0220
    • DateTimeOrigina(ASCIIx20):2011:04:14 17:22:01
    • UserComment(UNDEFINEDx63):ASCII
    • FlashpixVersion(UNDEFINEDx4):0100
    • ColorSpace(简称):1
    • PixelXDimension(LONG):1022
    • PixelYDimension(长):486
    • 未知(ASCIIx13):图像标签-LOL
    • SceneCaptureType(SHORT):0

 

  • GPS IDF --- IDF @ [248 - 338](7个条目)
    • 互操作性指数(ASCIIx2):N
    • 互操作性版本(RATIONALx3)@ 425:52/1,1114/100,0/1
    • 未知(ASCIIx2):W
    • 未知(RATIONALx3):1/1,4392/100,0/1
    • 未知(RATIONAL):5/1
    • 未知(ASCIIx2):T
    • 未知(RATIONAL):3694/117

 

leo*_*loy 126

PNG不会嵌入EXIF信息.但是,它允许在图像中嵌入元数据" ".一些标准化块对应于一些EXIF属性(物理尺寸,时间戳).并且还可以将任意文本数据存储为key=>value对,或者定义新的块类型.所以,你理论上可以存储任何EXIF信息......但是,唉,你自己的自定义格式.看来,有些标准化的尝试还没有赶上.

编辑:版本1.5.0(2017年7月)的PNG 1.2规范扩展最终添加了一个EXIF块.编码器 - 解码器是否开始支持它还有待观察.


Phi*_*vey 29

从JPEG图像转换时,ImageMagick将EXIF信息存储在PNG"原始配置文件类型APP1"zTXt块中.ExifTool也支持这种在PNG图像中存储EXIF的方法(我也相信Exiv2),但它不是PNG或EXIF规范的一部分.

编辑:截至2017年7月,PNG正式支持用于存储EXIF元数据(规范)的eXIf块.ExifTool 10.59及更高版本将EXIF写入PNG图像中的这个新块.

  • PNG小组最近一直在考虑添加一个新的"eXIf"和/或"zXIf"块来存储EXIF信息.ExifTool 10.43增加了对"exIf"和"zxIf"块的支持,以支持这一点. (4认同)

Per*_*ion 10

PNG不支持嵌入EXIF信息.当您从JPEG转换为PNG时,信息将丢失.

  • 您可以指向[规范](http://www.libpng.org/pub/png/spec/1.2/png-1.2.pdf),它没有EXIF数据嵌入的隐式或显式规范,或[ PNG wiki entry](http://en.wikipedia.org/wiki/Portable_Network_Graphics#Comparison_to_JPEG). (9认同)
  • 这不完全正确.例如,如果您使用`convert`(来自ImageMagick)将JPEG转换为PNG然后使用`convert`将PNG转换回JPEG,则新JPEG仍将包含EXIF数据. (5认同)

8bi*_*ree 7

截至2017年7月,似乎确实已正式注册了名为... eXIf的 EXIF数据块:

eXIf块的数据段包含[CIPA DC-008-2016]“压缩数据中APP1的4.7.2互操作性结构”中指定的格式的Exif配置文件,除了JPEG APP1标记,长度和“ Exif”不包含4.7.2(C)中所述的“ ID代码”,即“ Exif”,NULL和填充字节。

请注意,这既是A)仅几个月之久(撰写本文时),又是B)可选扩展名,不是基本规范的一部分。因此,在许多应用程序中,对eXIf块的支持可能受到限制。


Ast*_*ngs 5

是和不是。

正如其他答案已经指出的那样,PNG 直到eXIf在 v1.5.0(2017)中添加才具有正式的 EXIF 块,据我所知,该块仍然没有得到广泛的支持。

但那是因为它不需要它。许多软件按照惯例将 EXIF 编码为 PNG 中的iTXt(或压缩的zTXt)块,标记为“原始配置文件类型 APP1”。较新的eXIf块旨在为此提供一个标准化的位置,尽管我认为这艘船现在已经航行了。

此外,许多 EXIF 标准的元数据可以由 XMP 表示,XMP 是一种替代的更新的元数据传输机制,它具有专门用于此目的的 EXIF 命名空间。iTXt多年来,PNG 文件一直以块的形式包含 XMP 文档(包括翻译后的 EXIF 元数据) 。您会发现许多处理器会在两者之间动态进行转换。