应c++写一个图片压缩程序
时间: 2024-05-12 13:19:05 浏览: 61
以下是一个简单的图片压缩程序的代码:
```python
from PIL import Image
def compress_image(infile, outfile, quality=75):
try:
with Image.open(infile) as im:
im.save(outfile, optimize=True, quality=quality)
return True
except Exception as e:
print(e)
return False
```
上述代码使用了Python的Pillow库来处理图像。其中,传入的参数`infile`是待压缩的图片文件名,`outfile`是压缩后的图片文件名,`quality`是压缩质量,取值范围为0~100,默认为75。
在程序中,我们首先使用`Image.open`打开待压缩的图片,然后使用`save`方法将图片保存为指定的输出文件。参数`optimize`表示是否启用优化,`quality`表示压缩质量。最后返回`True`表示压缩成功,返回`False`表示压缩失败。
如果要批量压缩图片,可以使用以下代码:
```python
import os
def batch_compress_image(input_dir, output_dir, quality=75):
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for root, dirs, files in os.walk(input_dir):
for filename in files:
output_file = os.path.join(output_dir, filename)
compress_image(os.path.join(root, filename), output_file, quality)
```
上述代码使用了Python的os库来遍历指定目录下的所有文件,然后对每个文件调用`compress_image`函数进行压缩,最终将压缩后的结果保存到指定的输出目录中。
使用该程序可以方便地对大量图片进行批量压缩,以节省存储空间和加快图片加载速度。
阅读全文