Самый быстрый способ - просто посмотреть на байты 24 и 25 в файле PNG.Они содержат битовую глубину (1, 2, 4, 8 или 16) и тип цвета
- 0: серый,
- 2: rgb,
- 3: indexed (colormapped),
- 4: серый + альфа или
- 6: rgba.
Если битовая глубина равна 8, а цветовой тип равен 3, у вас естьPNG8, а если bitdepth равен 8, а colortype равен 2, у вас есть PNG24.
На платформе * nix команда "file" сделает это за вас, например,
APNG8:
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