如何使用python将图片大小压缩至100KB
时间: 2024-09-24 12:19:11 浏览: 50
在Python中,要将图片大小压缩至大约100KB,我们一般会考虑降低图片的分辨率和质量,或者选择合适的文件格式。这里以JPEG格式为例,因为JPEG支持较好的压缩效果:
1. 首先,我们需要安装`PIL`或`Pillow`库来进行图片处理:
```bash
pip install pillow
```
2. 然后,我们可以使用以下代码来读取图片、压缩并保存:
```python
from PIL import Image
import io
# 打开图片文件
with Image.open("original_image.jpg") as im:
# 创建一个内存缓冲区
output_buffer = io.BytesIO()
# 以JPEG格式,设置质量为70 (0-100) 降低质量来压缩
im.save(output_buffer, format="JPEG", quality=70)
# 获取压缩后的字节流
compressed_data = output_buffer.getvalue()
# 判断是否已小于100KB
if len(compressed_data) > 100000:
print(f"压缩后图片大小大于100KB ({len(compressed_data)} bytes)")
else:
# 如果小于100KB,继续保存
new_file_name = "compressed_image_100KB.jpg"
with open(new_file_name, "wb") as f:
f.write(compressed_data)
print(f"压缩成功,新文件名为 {new_file_name}")
```
如果压缩后仍然超过100KB,可以尝试进一步降低质量和分辨率。
阅读全文