Как загрузить изображение в PIL из файла, подобного объекту, полученному из мутагена - PullRequest
0 голосов
/ 28 сентября 2019

Я хочу изменить размер обложек альбомов, встроенных в аудиофайлы, до 500x500, если они больше.

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

Проблема в том, что я не могу понять, как загрузить мутаген "file like object", генерирующий в PIL.

srcFileHandle = FLAC(srcFilePath)

for picture in srcFileHandle.pictures:
    if picture.type == 3:
        destPictureData = picture.data

image = Image.open(destPictureData)    #ValueError: embedded null byte; need a way to load "destPictureData" into PIL


newAlbumArt = image.resize((500, 500), PIL.Image.LANCZOS)

Если я пытаюсь сохранить destPictureData как файл, он работает так же, как файл изображения.

if 'jpeg' in destPictureMIME:
    tempImageExt = "jpeg"
elif 'png' in destPictureMIME:
    tempImageExt = "png"
with open("tempImage" + "." + tempImageExt, "wb+") as f:
    f.write(destPictureData)

Сначала я могу сохранить файл и позже загрузить его в PIL, но яхотел бы избежать записи на диск, если это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...