【问题标题】:How to get image size in python-pillow after resize?调整大小后如何在 python-pillow 中获取图像大小?
【发布时间】:2015-06-04 18:19:58
【问题描述】:

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

Image 是 Python-Pillow Image 类,我使用了resize 函数来调整原始图像的大小,

我如何找到resized_image 的新文件大小(以字节为单位),而无需保存到磁盘然后再次读取它

【问题讨论】:

  • @OliverW。哦,我的意思是图像文件大小,以字节为单位

标签: python python-imaging-library pillow


【解决方案1】:

你不能。 PIL 处理内存中的图像操作。无法知道它以特定格式在磁盘上的大小。

您可以将其保存到临时文件并使用 os.stat('/tmp/tempfile.jpg').st_size 读取大小

【讨论】:

  • 我认为有一种方法可以保存到字节计数器而不是文件,但我目前找不到答案。
【解决方案2】:

文件不必写入磁盘。像对象这样的文件可以解决问题:

from io import BytesIO

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

这会打印以 PNG 格式保存的图像的大小(以字节为单位),而不保存到磁盘。

【讨论】:

猜你喜欢
  • 2018-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-13
  • 2020-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多