Как получить размер изображения в python-подушке после изменения размера?

resized_image = Image.resize((100,200));

Image класс Python-Pillow Image, и я использовал resize функция изменения размера исходного изображения,

Как мне найти новый размер файла (в байтах) resized_image без необходимости сохранять на диск и затем читать его снова

2 ответа

Файл не должен быть записан на диск. Файл как объект делает свое дело:

from io import BytesIO

# do something that defines `image`...   
img_file = BytesIO()
image.save(img_file, 'png')
print(img_file.tell())

Это печатает размер в байтах изображения, сохраненного в формате PNG, без сохранения на диск.

Ты не можешь PIL имеет дело с манипуляциями с изображениями в памяти. Нет никакого способа узнать размер, который он будет иметь на диске в определенном формате.

Вы можете сохранить его во временном файле и прочитать размер, используя os.stat('/tmp/tempfile.jpg').st_size

Другие вопросы по тегам