我有一个PNG文件,但我不知道是PNG-8还是PNG-24?
发布于 2017-08-07 18:44:12
黑客的方式:窥视IHDR块中的真实字节。
$ od -j 24 -N 2 -t u1 -An drivemount-applet_open.png
8 2第一个数字告诉你比特深度。第二种是颜色类型 (2用于RGB图像,即具有三个通道的图像,或每像素三个样本值)。
因此,在这种情况下,我们有一个RGB8 PNG (每像素24位)。
发布于 2017-08-07 18:38:09
作为上述使用" file“的替代方法,”file“依赖于PNG文件头中的文件魔术,如果使用PNG文件,安装"pngtools”包是有用的。
然后,可以使用pnginfo提供PNG文件属性的全部细节,包括BitDepth (位/样例)(不应将其与另一个属性像素深度混淆)。
file Debian_Expo.png
Debian_Expo.png: PNG image data, 1280 x 1024, 8-bit/color RGB, non-interlaced
---
pnginfo Debian_Expo.png
Image Width: 1280 Image Length: 1024
Bitdepth (Bits/Sample): 8
Channels (Samples/Pixel): 3
Pixel depth (Pixel Depth): 24
Colour Type (Photometric Interpretation): RGB
...JPEG文件的等价物是jpeginfo,在它自己的包jpeginfo中。
pnginfo输出的格式使在shell脚本中使用BitDepth的值(因为它位于单独的行上)更容易提取。
如果该文件实际上不是PNG文件,因为它是错误命名的JPEG,则pnginfo将报告“此文件不是有效的PNG文件”。
与以往一样,作业的适当工具取决于您使用该工具的频率以及您希望如何处理输出。
https://askubuntu.com/questions/943625
复制相似问题