python - 如何在存储到磁盘之前使用 Pillow-python 获取以 KB 为单位的图像大小?

标签 python python-imaging-library

我正在使用 Pillow 在 Python 中进行图像处理,

url="http://www.image.com/some_image.jpg";

path = io.BytesIO(urllib.request.urlopen(url).read())

original_image = Image.open(path)

知道如何使用 Pillow 获取此图像文件的大小吗?我想在将图像存储到磁盘之前处理图像的大小

最佳答案

答案将取决于您保存图像的格式,因此最准确的解决方案应该是:

>>> out = io.BytesIO()
>>> original_image.save(out, format='png')
>>> out.tell()
# size in bytes

如果你想要未压缩像素数据的大小,你需要知道一个像素有多少位。我不相信这会在 Pillow 中公开,您必须使用 original_image.mode 和引用 Unpack.c 来查找该值.然后就是 width * height * bytes_per_pixel。如果您的图像使用调色板,它会变得更加复杂,我建议只使用第一种方法。

关于python - 如何在存储到磁盘之前使用 Pillow-python 获取以 KB 为单位的图像大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29319858/

相关文章:

python - Django ORM - 如何结合注释和过滤

python - 执行父类方法而不调用super()

python - PIL替换颜色的最佳方法?

python - 使用 PIL 在 Python 中进行图像浮雕——添加深度、方位角等

python - 如何将 pygame 表面转换为 PIL 图像?

python - 自定义 pip 安装命令未运行

python - python中的内存缩略图生成

python SQL查询插入显示空行

python - 在 Python 的 PIL 中渲染波斯语(波斯语)单词

python - Mac 上 Pillow 库的 _imagingft 问题