如果PNG是8或24,那么退出?

Eva*_*nss 8 encoding png image bit

有没有办法找出PNG是8还是24型?我试过窗户,烟花和Photoshop,但我无法弄清楚这一点.谢谢

Gle*_*son 15

最快的方法是只查看PNG文件中的字节24和25.它们包含位深度(1,2,4,8或16)和颜色类型

  • 0:灰色,
  • 2:rgb,
  • 3:索引(colormapped),
  • 4:灰色+ alpha,或
  • 6:rgba.

如果bitdepth为8且colortype为3,则您有一个PNG8,如果bitdepth为8且colortype为2,则您有一个PNG24.

在*nix平台上,"file"命令将为您执行此操作,例如,

PNG8:

glenn.rp> file logo.png
logo.png: PNG image data, 640 x 480, 8-bit colormap, non-interlaced
Run Code Online (Sandbox Code Playgroud)

PNG24:

glenn.rp> file rose.png
rose.png: PNG image data, 70 x 46, 8-bit/color RGB, non-interlaced
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案。我保证几乎所有来到这里的人都是这样做的,因为他们想知道如何在 CODE 中做到这一点。 (2认同)

Tha*_*ama 8

在Photoshop中打开它并检查顶部栏上的内容.如果它显示"index",那么它已被保存为8位PNG,如果它显示为"RGB/8",那么你的PNG是32位PNG.或者你可以打开图像/模式菜单,对于8位的菜单,它将是"索引颜色",而对于32位的 - "RGB颜色".

在不打开文件的情况下,另一种非常快速的方法是查看图像中是否存在任何平滑的渐变透明度.8位png没有透明渐变 - 它完全不透明或完全透明(两者之间没有).

(对于那些没有Photoshop的人)

如何识别Windows上图像文件的位深度:

*Right click* image file > Properties > Details > Bit depth
Run Code Online (Sandbox Code Playgroud)

在Windows上识别图像位深度