注:1、首先下载VScode,配置python编译环境
2、配置安装PIL模块 pip install pillow
目录
一、PIL模块安装教程
1、找到自己python安装目录进行以下安装依赖操作
2、更新pip
python -m pip install --upgrade pip
3、安装PIL模块
pip install pillow
4、检查安装是否成功
pip list
二、python代码
1、修改图像大小(width&height&dpi)
首先在桌面创建处理后的文件夹用来存储处理过的图片
原图片大小
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("所有图片修改完成")
修改后图片大小
2、修改图像内存大小
首先在桌面创建处理后的文件夹用来存储处理过的图片。在第一步的基础上进行更改内存大小。
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("所有图片处理完成")
3、修改图像dpi
首先在桌面创建处理后的文件夹用来存储处理过的图片。在第二步的基础上再次进行更改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("所有图片修改完成")