Как мне работать с «данными изображения в виде байтовой строки», используя Python? - PullRequest
1 голос
/ 02 июня 2011

Сначала я собираюсь объяснить, что я пытаюсь сделать, а затем объясню свою проблему.

Хорошо, поэтому я делаю прототипы для проекта, над которым я надеюсь работать летом,Проект представляет собой небольшой медиаплеер, и одним из требований является отображение обложки альбома в формате mp3.

После некоторых исследований я нашел эту библиотеку: http://code.google.com/p/mutagen/

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

После просмотра кода я смог извлечь данные из mp3-файла, такие как исполнитель, год записи и т. Д. Я приведу небольшую демонстрацию здесь:

from mutagen.mp3 import MP3
audio = MP3("born.mp3")
artist = audio["TPE1"]
print artist

В случае, если это не имеет особого смысла, это учебник, который предоставляет mutagen - http://code.google.com/p/mutagen/wiki/Tutorial (это немного короче)

Проблема - я хочу показать изображение с помощью pygame.Обычно это выглядит примерно так:

 monkey = pygame.image.load("monkey.jpg")

 screen.blit(monkey,(0,0))

, но вместо этого я хочу использовать изображение из файла изображения.Исходя из первого примера, он читает что-то вроде:

audio = MP3("born.mp3")
data = audio.tags['APIC:'].data
monkey = pygame.image.load(data)

, но pygame выдает ошибку исключения, поскольку тип данных переменной 'value' - это необработанные данные изображения в виде байтовой строки.

Вопрос. Можно ли преобразовать строку байта в какой-либо формат изображения, чтобы Pygame мог использовать его?

Для документации по изображениям на языке python - http://www.pygame.org/docs/ref/image.html

Я не уверен, что возможно даже выполнить то, что я прошу, поэтому, пожалуйста, прости меня!

1 Ответ

1 голос
/ 02 июня 2011

Вы пробовали pygame.image.fromstring()?

примечание: поскольку это необработанные данные, вам необходимо заранее знать некоторые детали, такие как разрешение и глубина цвета.

...