赞
踩
注:1、首先下载VScode,配置python编译环境
2、配置安装PIL模块 pip install pillow
目录
python -m pip install --upgrade pip
pip install pillow
pip list
首先在桌面创建处理后的文件夹用来存储处理过的图片
原图片大小
- import os
- from PIL import Image
-
- input_folder = '原图片存放文件夹的位置'
- output_folder = '修改后图片存放文件夹的位置'
-
- # 确保输出文件夹存在,如果不存在则创建
- if not os.path.exists(output_folder):
- os.makedirs(output_folder)
-
- # 遍历文件夹中的所有文件
- # 图片多种格式处理方法 if filename.lower().endswith(('.jpg', '.JPG','.png','.jpeg')):
- for filename in os.listdir(input_folder):
- if filename.lower().endswith(('.jpg', '.JPG')):
- # 打开图片
- image_path = os.path.join(input_folder, filename)
- image = Image.open(image_path)
-
- # 修改长和宽
- new_width = 修改成自己想要的长度
- new_height = 修改成自己想要的长度
- resized_image = image.resize((new_width, new_height))
-
- # 修改DPI
- dpi = (修改成自己想要的dpi, 修改成自己想要的dpi) # 设置为300dpi
- resized_image.info['dpi'] = dpi
-
- # 保存修改后的图片到输出文件夹
- output_path = os.path.join(output_folder, filename)
- resized_image.save(output_path)
-
- print("所有图片修改完成")

修改后图片大小
首先在桌面创建处理后的文件夹用来存储处理过的图片。在第一步的基础上进行更改内存大小。
- import os
- from PIL import Image
-
- input_folder = '第一步操作后图片的存放文件夹位置'
- output_folder = '修改内存大小后图片的存放文件夹位置'
-
- # 确保输出文件夹存在,如果不存在则创建
- if not os.path.exists(output_folder):
- os.makedirs(output_folder)
-
- # 遍历文件夹中的所有文件
- for filename in os.listdir(input_folder):
- if filename.lower().endswith(('.jpg', '.jpeg')):
- # 打开图片
- image_path = os.path.join(input_folder, filename)
- image = Image.open(image_path)
-
- # 控制图片大小在15-20kb范围内
- target_size_kb = 设置成想要的内存大小 # 目标大小为15kb
- max_quality = 100 # 设置最大质量
- while True:
- # 保存图片到临时文件
- temp_output_path = 'temp_output.jpg'
- image.save(temp_output_path, optimize=True, quality=max_quality)
-
- # 检查文件大小
- temp_file_size = os.path.getsize(temp_output_path)
- if temp_file_size <= target_size_kb * 1024 or max_quality == 0:
- break
- else:
- max_quality -= 1 # 逐渐降低质量直到满足大小要求
-
- # 移动图片到输出文件夹
- output_path = os.path.join(output_folder, filename)
- os.rename(temp_output_path, output_path)
-
- print("所有图片处理完成")

首先在桌面创建处理后的文件夹用来存储处理过的图片。在第二步的基础上再次进行更改dpi。此时修改过后图片的尺寸大小、内存大小不会再发生改变了,我们开始进行修改图片的dpi。
- import os
- from PIL import Image
-
- input_folder = '修改内存大小后图片的文件夹存放位置'
- output_folder = '修改后图片的文件存放位置'
-
- # 确保输出文件夹存在,如果不存在则创建
- if not os.path.exists(output_folder):
- os.makedirs(output_folder)
-
- # 遍历文件夹中的所有文件
- for filename in os.listdir(input_folder):
- if filename.lower().endswith(('.jpg', '.jpeg', '.png')):
- # 打开图片
- image_path = os.path.join(input_folder, filename)
- image = Image.open(image_path)
-
- # 修改DPI
- dpi = (改成自己想要的dpi, 改成自己想要的dpi) # 设置为350dpi
- if 'dpi' in image.info:
- del image.info['dpi']
- image.info['dpi'] = dpi
-
- # 保存修改后的图片到输出文件夹
- output_path = os.path.join(output_folder, filename)
- image.save(output_path, dpi=dpi)
-
- print("所有图片修改完成")

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。