FInd out if PNG is 8 or 24?

前端 未结 3 1945
太阳男子
太阳男子 2020-12-19 03:35

Is there a way to find out if a PNG is the 8 or 24 type? Ive tried with windows, fireworks and photoshop but I cant figure this out. Thanks

3条回答
  •  青春惊慌失措
    2020-12-19 04:06

    The quickest way is to just peek at bytes 24 and 25 in the PNG file. They contain the bit depth (1, 2, 4, 8, or 16) and color type

    • 0: gray,
    • 2: rgb,
    • 3: indexed (colormapped),
    • 4: gray+alpha, or
    • 6: rgba.

    If the bitdepth is 8 and the colortype is 3 you have a PNG8, and if the bitdepth is 8 and colortype is 2 you have a PNG24.

    On a *nix platform, the "file" command will do this for you, e.g.,

    A PNG8:

    glenn.rp> file logo.png
    logo.png: PNG image data, 640 x 480, 8-bit colormap, non-interlaced
    

    A PNG24:

    glenn.rp> file rose.png
    rose.png: PNG image data, 70 x 46, 8-bit/color RGB, non-interlaced
    

提交回复
热议问题