Как получить глубину цвета и / или разрешение из строки байтов в Python? - PullRequest
1 голос
/ 03 июня 2011

^ Как указано выше. Возможно ли это?

Я использую библиотеку для получения данных изображения из mp3, и она возвращает данные в виде строки байтов, но для отображения изображения мне нужно получить разрешение и глубину цвета.

В идеале я бы предпочел библиотеку, написанную на Python без зависимостей, чтобы сделать мое приложение максимально переносимым.

Если это не так уж и сложно, я был бы признателен за пример с ответом, спасибо.

Ответы [ 2 ]

5 голосов
/ 03 июня 2011

Вы можете использовать PIL для работы с изображениями в Python.В вашем случае вы можете сделать:

>>> from StringIO import StringIO
>>> from PIL import Image

>>> im = Image.open(StringIO(image_string))

>>> im.size, im.bits
<<< ((1654, 1279), 8)
0 голосов
/ 03 июня 2011

Либо у изображения есть заголовки (которые вы можете прочитать с помощью чего-то вроде exiftool), либо у изображения нет заголовков, и в этом случае вы можете получить размер и глубину цвета из спецификации, либо тег контейнера для mp3,или из стандарта для графики.

Большинство растровых изображений в настоящее время имеют 24-битный цвет.

...