我正在使用 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/