python图像文件压缩。使用 PIL 库对图片进行等比例压缩,无论压缩前文件大小如何,压缩后文件小于 10 KB。
时间: 2024-01-23 12:11:16 浏览: 91
图片压缩器-jpg压缩-PDF压缩,包含源代码
可以使用PIL库中的Image模块对图片进行等比例压缩,具体代码如下:
```python
from PIL import Image
import os
def compress_image(infile, outfile):
im = Image.open(infile)
x, y = im.size
if x > y:
scale = 100 / x
else:
scale = 100 / y
out = im.resize((int(x * scale), int(y * scale)), Image.ANTIALIAS)
out.save(outfile, quality=95)
def compress_images_in_folder(folder):
for filename in os.listdir(folder):
if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
infile = os.path.join(folder, filename)
outfile = os.path.join(folder, "compressed_" + filename)
compress_image(infile, outfile)
if os.path.getsize(outfile) < 10 * 1024:
os.remove(infile)
else:
os.remove(outfile)
compress_images_in_folder('/path/to/folder')
```
上述代码中,compress_image函数用于对单个图片进行压缩,compress_images_in_folder函数则遍历指定目录下的所有图片并依次进行压缩。压缩后的文件大小小于10KB的图片将覆盖原来的文件,否则将删除压缩后的文件并保留原文件。
阅读全文