首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怎样才能找出PNG是PNG-8还是PNG-24?

怎样才能找出PNG是PNG-8还是PNG-24?
EN

Ask Ubuntu用户
提问于 2017-08-06 17:45:32
回答 2查看 16K关注 0票数 15

我有一个PNG文件,但我不知道是PNG-8还是PNG-24?

EN

回答 2

Ask Ubuntu用户

发布于 2017-08-07 18:44:12

黑客的方式:窥视IHDR块中的真实字节。

代码语言:javascript
复制
 $ od -j 24 -N 2 -t u1 -An drivemount-applet_open.png
   8   2

第一个数字告诉你比特深度。第二种是颜色类型 (2用于RGB图像,即具有三个通道的图像,或每像素三个样本值)。

因此,在这种情况下,我们有一个RGB8 PNG (每像素24位)。

票数 5
EN

Ask Ubuntu用户

发布于 2017-08-07 18:38:09

作为上述使用" file“的替代方法,”file“依赖于PNG文件头中的文件魔术,如果使用PNG文件,安装"pngtools”包是有用的。

然后,可以使用pnginfo提供PNG文件属性的全部细节,包括BitDepth (位/样例)(不应将其与另一个属性像素深度混淆)。

代码语言:javascript
复制
 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文件”。

与以往一样,作业的适当工具取决于您使用该工具的频率以及您希望如何处理输出。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/943625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档