У меня есть файл PNG, но я не могу сказать, это PNG-8 или PNG-24?
Команда file, используемая в других ответах, иногда непоследовательна. Например:
───────────────────────────────────────────────────────────────────────────────
rick@dell:~/Pictures$ file "256 colors.jpg"
256 colors.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 800x800, frames 3
───────────────────────────────────────────────────────────────────────────────
rick@dell:~/Pictures$ file "vnStat.png"
vnStat.png: PNG image data, 410 x 121, 8-bit/color RGB, non-interlaced
Первым экземпляром, вероятно, является изображение камеры, а второй экземпляр, который я использовал, используя захват экрана.
Команда identify, на которой мой ответ основан on, кажется, работает правильно во всех случаях. Например, тестирование в первом экземпляре выше:
rick@dell:~/Pictures$ identify "256 colors.jpg"
256 colors.jpg JPEG 800x800 800x800+0+0 8-bit sRGB 45KB 0.000u 0:00.000
У меня установлен ImageMagick, который позволяет мне использовать:
$ identify -verbose vnStat.png
Image: vnStat.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: DirectClass
Geometry: 410x121+0+0
Units: Undefined
Type: TrueColor
Endianess: Undefined
Colorspace: sRGB
Depth: 8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Pixels: 49610
Red:
min: 0 (0)
max: 255 (1)
mean: 12.0814 (0.0473779)
standard deviation: 46.7032 (0.18315)
kurtosis: 18.8998
skewness: 4.49862
Green:
min: 0 (0)
max: 255 (1)
mean: 21.1804 (0.0830606)
standard deviation: 57.5336 (0.225622)
kurtosis: 6.68226
skewness: 2.82613
Blue:
min: 0 (0)
max: 255 (1)
mean: 14.2606 (0.0559237)
standard deviation: 50.2969 (0.197243)
kurtosis: 13.5573
skewness: 3.85914
Image statistics:
Overall:
min: 0 (0)
max: 255 (1)
mean: 15.8408 (0.0621207)
standard deviation: 51.7078 (0.202776)
kurtosis: 11.8528
skewness: 3.62638
Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.64,0.33)
green primary: (0.3,0.6)
blue primary: (0.15,0.06)
white point: (0.3127,0.329)
Background color: white
Border color: srgb(223,223,223)
Matte color: grey74
Transparent color: black
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 410x121+0+0
Dispose: Undefined
Iterations: 0
Compression: Zip
Orientation: Undefined
Properties:
date:create: 2017-01-24T20:04:50-07:00
date:modify: 2017-01-24T20:04:50-07:00
png:IHDR.bit-depth-orig: 8
png:IHDR.bit_depth: 8
png:IHDR.color-type-orig: 2
png:IHDR.color_type: 2 (Truecolor)
png:IHDR.interlace_method: 0 (Not interlaced)
png:IHDR.width,height: 410, 121
png:sRGB: intent=0 (Perceptual Intent)
png:text: 1 tEXt/zTXt/iTXt chunks were found
signature: e9f31b79da6ce46cdea5da21ae8648496faa181b0621098aa2dbbdff4a9a4502
Software: gnome-screenshot
Artifacts:
filename: vnStat.png
verbose: true
Tainted: False
Filesize: 14.7KB
Number pixels: 49.6K
Pixels per second: 0B
User time: 0.000u
Elapsed time: 0:01.000
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org
Для сводного отчета опускайте все параметры:
$ identify vnStat.png
vnStat.png PNG 410x121 410x121+0+0 8-bit sRGB 14.7KB 0.000u 0:00.000
Замените vnStat.png своим собственным именем файла .png и предисловием его с помощью пути, если необходимо. [ ! d9]
Чтобы понять PNG-24 и PNG-32, этот ответ из ImageMagick суммирует его:
Если ваше изображение 24 бит, вы будет видеть:
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Если ваше изображение PNG равно 32 бит, вы увидите:
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
alpha: 8-bit
Однако этот ответ не является полным, потому что 8-битный цвет также отображает 8 бит для Red, Green и Blue, только цветовая палитра используется для ограничения количества выборов (например, в старой доброй Windows 2.0).
Изучите эти три изображения из глубины Википедии:
Имя файла: 8_bit.png
Использование:
identify -verbose 8_bit.png | grep colors
png:PLTE.number_colors: 249
Мы см. 249 цветов. Максимальное возможное с 8 битами - 256 цветов.
Имя файла: 4_bit.png
Использование:
identify -verbose 4_bit.png | grep colors
png:PLTE.number_colors: 16
Мы видим, что используются 16 цветов, которые являются максимальными комбинациями цветов с четырьмя битами.
Имя файла: 2_bit.png
Использование:
$ identify -verbose 2_bit.png | grep colors
png:PLTE.number_colors: 4
Мы видим, что используются четыре цвета, которые являются максимальными комбинациями цветов с двумя битами.
Команда file, используемая в других ответах, иногда непоследовательна. Например:
───────────────────────────────────────────────────────────────────────────────
rick@dell:~/Pictures$ file "256 colors.jpg"
256 colors.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 800x800, frames 3
───────────────────────────────────────────────────────────────────────────────
rick@dell:~/Pictures$ file "vnStat.png"
vnStat.png: PNG image data, 410 x 121, 8-bit/color RGB, non-interlaced
Первым экземпляром, вероятно, является изображение камеры, а второй экземпляр, который я использовал, используя захват экрана.
Команда identify, на которой мой ответ основан on, кажется, работает правильно во всех случаях. Например, тестирование в первом экземпляре выше:
rick@dell:~/Pictures$ identify "256 colors.jpg"
256 colors.jpg JPEG 800x800 800x800+0+0 8-bit sRGB 45KB 0.000u 0:00.000
У меня установлен ImageMagick, который позволяет мне использовать:
$ identify -verbose vnStat.png
Image: vnStat.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: DirectClass
Geometry: 410x121+0+0
Units: Undefined
Type: TrueColor
Endianess: Undefined
Colorspace: sRGB
Depth: 8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Pixels: 49610
Red:
min: 0 (0)
max: 255 (1)
mean: 12.0814 (0.0473779)
standard deviation: 46.7032 (0.18315)
kurtosis: 18.8998
skewness: 4.49862
Green:
min: 0 (0)
max: 255 (1)
mean: 21.1804 (0.0830606)
standard deviation: 57.5336 (0.225622)
kurtosis: 6.68226
skewness: 2.82613
Blue:
min: 0 (0)
max: 255 (1)
mean: 14.2606 (0.0559237)
standard deviation: 50.2969 (0.197243)
kurtosis: 13.5573
skewness: 3.85914
Image statistics:
Overall:
min: 0 (0)
max: 255 (1)
mean: 15.8408 (0.0621207)
standard deviation: 51.7078 (0.202776)
kurtosis: 11.8528
skewness: 3.62638
Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.64,0.33)
green primary: (0.3,0.6)
blue primary: (0.15,0.06)
white point: (0.3127,0.329)
Background color: white
Border color: srgb(223,223,223)
Matte color: grey74
Transparent color: black
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 410x121+0+0
Dispose: Undefined
Iterations: 0
Compression: Zip
Orientation: Undefined
Properties:
date:create: 2017-01-24T20:04:50-07:00
date:modify: 2017-01-24T20:04:50-07:00
png:IHDR.bit-depth-orig: 8
png:IHDR.bit_depth: 8
png:IHDR.color-type-orig: 2
png:IHDR.color_type: 2 (Truecolor)
png:IHDR.interlace_method: 0 (Not interlaced)
png:IHDR.width,height: 410, 121
png:sRGB: intent=0 (Perceptual Intent)
png:text: 1 tEXt/zTXt/iTXt chunks were found
signature: e9f31b79da6ce46cdea5da21ae8648496faa181b0621098aa2dbbdff4a9a4502
Software: gnome-screenshot
Artifacts:
filename: vnStat.png
verbose: true
Tainted: False
Filesize: 14.7KB
Number pixels: 49.6K
Pixels per second: 0B
User time: 0.000u
Elapsed time: 0:01.000
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org
Для сводного отчета опускайте все параметры:
$ identify vnStat.png
vnStat.png PNG 410x121 410x121+0+0 8-bit sRGB 14.7KB 0.000u 0:00.000
Замените vnStat.png своим собственным именем файла .png и предисловием его с помощью пути, если необходимо. [ ! d9]
Чтобы понять PNG-24 и PNG-32, этот ответ из ImageMagick суммирует его:
Если ваше изображение 24 бит, вы будет видеть:
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Если ваше изображение PNG равно 32 бит, вы увидите:
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
alpha: 8-bit
Однако этот ответ не является полным, потому что 8-битный цвет также отображает 8 бит для Red, Green и Blue, только цветовая палитра используется для ограничения количества выборов (например, в старой доброй Windows 2.0).
Изучите эти три изображения из глубины Википедии:
Имя файла: 8_bit.png
Использование:
identify -verbose 8_bit.png | grep colors
png:PLTE.number_colors: 249
Мы см. 249 цветов. Максимальное возможное с 8 битами - 256 цветов.
Имя файла: 4_bit.png
Использование:
identify -verbose 4_bit.png | grep colors
png:PLTE.number_colors: 16
Мы видим, что используются 16 цветов, которые являются максимальными комбинациями цветов с четырьмя битами.
Имя файла: 2_bit.png
Использование:
$ identify -verbose 2_bit.png | grep colors
png:PLTE.number_colors: 4
Мы видим, что используются четыре цвета, которые являются максимальными комбинациями цветов с двумя битами.
Команда file, используемая в других ответах, иногда непоследовательна. Например:
───────────────────────────────────────────────────────────────────────────────
rick@dell:~/Pictures$ file "256 colors.jpg"
256 colors.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 800x800, frames 3
───────────────────────────────────────────────────────────────────────────────
rick@dell:~/Pictures$ file "vnStat.png"
vnStat.png: PNG image data, 410 x 121, 8-bit/color RGB, non-interlaced
Первым экземпляром, вероятно, является изображение камеры, а второй экземпляр, который я использовал, используя захват экрана.
Команда identify, на которой мой ответ основан on, кажется, работает правильно во всех случаях. Например, тестирование в первом экземпляре выше:
rick@dell:~/Pictures$ identify "256 colors.jpg"
256 colors.jpg JPEG 800x800 800x800+0+0 8-bit sRGB 45KB 0.000u 0:00.000
У меня установлен ImageMagick, который позволяет мне использовать:
$ identify -verbose vnStat.png
Image: vnStat.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: DirectClass
Geometry: 410x121+0+0
Units: Undefined
Type: TrueColor
Endianess: Undefined
Colorspace: sRGB
Depth: 8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Pixels: 49610
Red:
min: 0 (0)
max: 255 (1)
mean: 12.0814 (0.0473779)
standard deviation: 46.7032 (0.18315)
kurtosis: 18.8998
skewness: 4.49862
Green:
min: 0 (0)
max: 255 (1)
mean: 21.1804 (0.0830606)
standard deviation: 57.5336 (0.225622)
kurtosis: 6.68226
skewness: 2.82613
Blue:
min: 0 (0)
max: 255 (1)
mean: 14.2606 (0.0559237)
standard deviation: 50.2969 (0.197243)
kurtosis: 13.5573
skewness: 3.85914
Image statistics:
Overall:
min: 0 (0)
max: 255 (1)
mean: 15.8408 (0.0621207)
standard deviation: 51.7078 (0.202776)
kurtosis: 11.8528
skewness: 3.62638
Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.64,0.33)
green primary: (0.3,0.6)
blue primary: (0.15,0.06)
white point: (0.3127,0.329)
Background color: white
Border color: srgb(223,223,223)
Matte color: grey74
Transparent color: black
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 410x121+0+0
Dispose: Undefined
Iterations: 0
Compression: Zip
Orientation: Undefined
Properties:
date:create: 2017-01-24T20:04:50-07:00
date:modify: 2017-01-24T20:04:50-07:00
png:IHDR.bit-depth-orig: 8
png:IHDR.bit_depth: 8
png:IHDR.color-type-orig: 2
png:IHDR.color_type: 2 (Truecolor)
png:IHDR.interlace_method: 0 (Not interlaced)
png:IHDR.width,height: 410, 121
png:sRGB: intent=0 (Perceptual Intent)
png:text: 1 tEXt/zTXt/iTXt chunks were found
signature: e9f31b79da6ce46cdea5da21ae8648496faa181b0621098aa2dbbdff4a9a4502
Software: gnome-screenshot
Artifacts:
filename: vnStat.png
verbose: true
Tainted: False
Filesize: 14.7KB
Number pixels: 49.6K
Pixels per second: 0B
User time: 0.000u
Elapsed time: 0:01.000
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-07-31 http://www.imagemagick.org
Для сводного отчета опускайте все параметры:
$ identify vnStat.png
vnStat.png PNG 410x121 410x121+0+0 8-bit sRGB 14.7KB 0.000u 0:00.000
Замените vnStat.png своим собственным именем файла .png и предисловием его с помощью пути, если необходимо. [ ! d9]
Чтобы понять PNG-24 и PNG-32, этот ответ из ImageMagick суммирует его:
Если ваше изображение 24 бит, вы будет видеть:
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Если ваше изображение PNG равно 32 бит, вы увидите:
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
alpha: 8-bit
Однако этот ответ не является полным, потому что 8-битный цвет также отображает 8 бит для Red, Green и Blue, только цветовая палитра используется для ограничения количества выборов (например, в старой доброй Windows 2.0).
Изучите эти три изображения из глубины Википедии:
Имя файла: 8_bit.png
Использование:
identify -verbose 8_bit.png | grep colors
png:PLTE.number_colors: 249
Мы см. 249 цветов. Максимальное возможное с 8 битами - 256 цветов.
Имя файла: 4_bit.png
Использование:
identify -verbose 4_bit.png | grep colors
png:PLTE.number_colors: 16
Мы видим, что используются 16 цветов, которые являются максимальными комбинациями цветов с четырьмя битами.
Имя файла: 2_bit.png
Использование:
$ identify -verbose 2_bit.png | grep colors
png:PLTE.number_colors: 4
Мы видим, что используются четыре цвета, которые являются максимальными комбинациями цветов с двумя битами.
32-битный PNG (8 бит на канал - w / alpha, также называемый «24-битный PNG с 8-битами альфа» или «PNG24 с альфой»):
$ file zyne_zyne.png:
PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced
24 -битный PNG (8 бит на канал - нет альфа-канала)
$ file 24.png
PNG image data, 1060 x 821, 8-bit/color RGB, non-interlaced
8-битный PNG (256 цветов):
$ file 8bit.png
PNG image data, 1060 x 821, 8-bit colormap, non-interlaced
Если у вас установлен exiftool, вы можете сделать:
bash-4.3# exiftool continents_blank_l.png ExifTool Version Number : 10.20 File Name : continents_blank_l.png Directory : . File Size : 170 kB File Modification Date/Time : 2016:07:05 07:59:28+05:30 File Access Date/Time : 2017:08:07 00:35:15+05:30 File Inode Change Date/Time : 2016:07:05 07:59:28+05:30 File Permissions : rw-r--r-- File Type : PNG File Type Extension : png MIME Type : image/png Image Width : 1100 Image Height : 850 Bit Depth : 8 Color Type : RGB with Alpha Compression : Deflate/Inflate Filter : Adaptive Interlace : Noninterlaced Background Color : 255 255 255 Pixels Per Unit X : 3937 Pixels Per Unit Y : 3937 Pixel Units : meters Modify Date : 2016:07:05 02:29:28 Image Size : 1100x850 Megapixels : 0.935Путь хакера: загляните в реальные байты внутри блока PNG IHDR.
$ od -j 24 -N 2 -t u1 -An drivemount-applet_open.png
8 2
Первое число сообщает вам битдепт. Второй блок IHDR PNG (2 предназначен для изображений RGB, то есть изображений с тремя каналами или трех значений образца на пиксель).
Следовательно, в этом случае мы имеем RGB8 PNG (24 бит на пиксель).
В качестве альтернативы вышеупомянутому использованию «файла», который полагается на магию файлов в заголовке PNG-файла, при работе с файлами PNG полезно иметь пакет pngtools.
pngtools можно затем использовать, чтобы дать полную информацию о свойствах файла PNG, включая BitDepth (бит / образец) (который не следует путать с другим свойством Pixel Глубина).
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 облегчает извлечение значения BitDepth (как в отдельной строке), если он используется в сценарии оболочки.
Если файл на самом деле не является файлом PNG, потому что, например, это неназванный JPEG, тогда pnginfo сообщит " Этот файл не является допустимым файлом PNG ».
Как всегда подходящий инструмент для задания определяется, среди прочего, тем, как часто вы собираетесь использовать этот инструмент и как вы хотите обработать вывод .
32-битный PNG (8 бит на канал - w / alpha, также называемый «24-битный PNG с 8-битами альфа» или «PNG24 с альфой»):
$ file zyne_zyne.png:
PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced
24 -битный PNG (8 бит на канал - нет альфа-канала)
$ file 24.png
PNG image data, 1060 x 821, 8-bit/color RGB, non-interlaced
8-битный PNG (256 цветов):
$ file 8bit.png
PNG image data, 1060 x 821, 8-bit colormap, non-interlaced
Если у вас установлен exiftool, вы можете сделать:
bash-4.3# exiftool continents_blank_l.png ExifTool Version Number : 10.20 File Name : continents_blank_l.png Directory : . File Size : 170 kB File Modification Date/Time : 2016:07:05 07:59:28+05:30 File Access Date/Time : 2017:08:07 00:35:15+05:30 File Inode Change Date/Time : 2016:07:05 07:59:28+05:30 File Permissions : rw-r--r-- File Type : PNG File Type Extension : png MIME Type : image/png Image Width : 1100 Image Height : 850 Bit Depth : 8 Color Type : RGB with Alpha Compression : Deflate/Inflate Filter : Adaptive Interlace : Noninterlaced Background Color : 255 255 255 Pixels Per Unit X : 3937 Pixels Per Unit Y : 3937 Pixel Units : meters Modify Date : 2016:07:05 02:29:28 Image Size : 1100x850 Megapixels : 0.935В качестве альтернативы вышеупомянутому использованию «файла», который полагается на магию файлов в заголовке PNG-файла, при работе с файлами PNG полезно иметь пакет pngtools.
pngtools можно затем использовать, чтобы дать полную информацию о свойствах файла PNG, включая BitDepth (бит / образец) (который не следует путать с другим свойством Pixel Глубина).
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 облегчает извлечение значения BitDepth (как в отдельной строке), если он используется в сценарии оболочки.
Если файл на самом деле не является файлом PNG, потому что, например, это неназванный JPEG, тогда pnginfo сообщит " Этот файл не является допустимым файлом PNG ».
Как всегда подходящий инструмент для задания определяется, среди прочего, тем, как часто вы собираетесь использовать этот инструмент и как вы хотите обработать вывод .
Путь хакера: загляните в реальные байты внутри блока PNG IHDR.
$ od -j 24 -N 2 -t u1 -An drivemount-applet_open.png
8 2
Первое число сообщает вам битдепт. Второй блок IHDR PNG (2 предназначен для изображений RGB, то есть изображений с тремя каналами или трех значений образца на пиксель).
Следовательно, в этом случае мы имеем RGB8 PNG (24 бит на пиксель).
32-битный PNG (8 бит на канал - w / alpha, также называемый «24-битный PNG с 8-битами альфа» или «PNG24 с альфой»):
$ file zyne_zyne.png:
PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced
24 -битный PNG (8 бит на канал - нет альфа-канала)
$ file 24.png
PNG image data, 1060 x 821, 8-bit/color RGB, non-interlaced
8-битный PNG (256 цветов):
$ file 8bit.png
PNG image data, 1060 x 821, 8-bit colormap, non-interlaced
Если у вас установлен exiftool, вы можете сделать:
bash-4.3# exiftool continents_blank_l.png ExifTool Version Number : 10.20 File Name : continents_blank_l.png Directory : . File Size : 170 kB File Modification Date/Time : 2016:07:05 07:59:28+05:30 File Access Date/Time : 2017:08:07 00:35:15+05:30 File Inode Change Date/Time : 2016:07:05 07:59:28+05:30 File Permissions : rw-r--r-- File Type : PNG File Type Extension : png MIME Type : image/png Image Width : 1100 Image Height : 850 Bit Depth : 8 Color Type : RGB with Alpha Compression : Deflate/Inflate Filter : Adaptive Interlace : Noninterlaced Background Color : 255 255 255 Pixels Per Unit X : 3937 Pixels Per Unit Y : 3937 Pixel Units : meters Modify Date : 2016:07:05 02:29:28 Image Size : 1100x850 Megapixels : 0.935В качестве альтернативы вышеупомянутому использованию «файла», который полагается на магию файлов в заголовке PNG-файла, при работе с файлами PNG полезно иметь пакет pngtools.
pngtools можно затем использовать, чтобы дать полную информацию о свойствах файла PNG, включая BitDepth (бит / образец) (который не следует путать с другим свойством Pixel Глубина).
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 облегчает извлечение значения BitDepth (как в отдельной строке), если он используется в сценарии оболочки.
Если файл на самом деле не является файлом PNG, потому что, например, это неназванный JPEG, тогда pnginfo сообщит " Этот файл не является допустимым файлом PNG ».
Как всегда подходящий инструмент для задания определяется, среди прочего, тем, как часто вы собираетесь использовать этот инструмент и как вы хотите обработать вывод .
Путь хакера: загляните в реальные байты внутри блока PNG IHDR.
$ od -j 24 -N 2 -t u1 -An drivemount-applet_open.png
8 2
Первое число сообщает вам битдепт. Второй блок IHDR PNG (2 предназначен для изображений RGB, то есть изображений с тремя каналами или трех значений образца на пиксель).
Следовательно, в этом случае мы имеем RGB8 PNG (24 бит на пиксель).