当前位置:   article > 正文

使用python脚本批处理图片格式、尺寸大小(width&height&dpi)、内存大小_python 修改图像dpi

python 修改图像dpi

注:1、首先下载VScode,配置python编译环境

        2、配置安装PIL模块  pip install pillow

目录

一、PIL模块安装教程

1、找到自己python安装目录进行以下安装依赖操作

​编辑

2、更新pip

3、安装PIL模块

4、检查安装是否成功

​编辑

二、python代码

1、修改图像大小(width&height&dpi)

2、修改图像内存大小

​编辑​编辑

3、修改图像dpi

修改完成


一、PIL模块安装教程

1、找到自己python安装目录进行以下安装依赖操作

2、更新pip

python -m pip install --upgrade pip

3、安装PIL模块

pip install pillow

4、检查安装是否成功

pip list

二、python代码

1、修改图像大小(width&height&dpi)

首先在桌面创建处理后的文件夹用来存储处理过的图片

原图片大小

  1. import os
  2. from PIL import Image
  3. input_folder = '原图片存放文件夹的位置'
  4. output_folder = '修改后图片存放文件夹的位置'
  5. # 确保输出文件夹存在,如果不存在则创建
  6. if not os.path.exists(output_folder):
  7. os.makedirs(output_folder)
  8. # 遍历文件夹中的所有文件
  9. # 图片多种格式处理方法 if filename.lower().endswith(('.jpg', '.JPG','.png','.jpeg')):
  10. for filename in os.listdir(input_folder):
  11. if filename.lower().endswith(('.jpg', '.JPG')):
  12. # 打开图片
  13. image_path = os.path.join(input_folder, filename)
  14. image = Image.open(image_path)
  15. # 修改长和宽
  16. new_width = 修改成自己想要的长度
  17. new_height = 修改成自己想要的长度
  18. resized_image = image.resize((new_width, new_height))
  19. # 修改DPI
  20. dpi = (修改成自己想要的dpi, 修改成自己想要的dpi) # 设置为300dpi
  21. resized_image.info['dpi'] = dpi
  22. # 保存修改后的图片到输出文件夹
  23. output_path = os.path.join(output_folder, filename)
  24. resized_image.save(output_path)
  25. print("所有图片修改完成")

修改后图片大小

2、修改图像内存大小

首先在桌面创建处理后的文件夹用来存储处理过的图片。在第一步的基础上进行更改内存大小。

  1. import os
  2. from PIL import Image
  3. input_folder = '第一步操作后图片的存放文件夹位置'
  4. output_folder = '修改内存大小后图片的存放文件夹位置'
  5. # 确保输出文件夹存在,如果不存在则创建
  6. if not os.path.exists(output_folder):
  7. os.makedirs(output_folder)
  8. # 遍历文件夹中的所有文件
  9. for filename in os.listdir(input_folder):
  10. if filename.lower().endswith(('.jpg', '.jpeg')):
  11. # 打开图片
  12. image_path = os.path.join(input_folder, filename)
  13. image = Image.open(image_path)
  14. # 控制图片大小在15-20kb范围内
  15. target_size_kb = 设置成想要的内存大小 # 目标大小为15kb
  16. max_quality = 100 # 设置最大质量
  17. while True:
  18. # 保存图片到临时文件
  19. temp_output_path = 'temp_output.jpg'
  20. image.save(temp_output_path, optimize=True, quality=max_quality)
  21. # 检查文件大小
  22. temp_file_size = os.path.getsize(temp_output_path)
  23. if temp_file_size <= target_size_kb * 1024 or max_quality == 0:
  24. break
  25. else:
  26. max_quality -= 1 # 逐渐降低质量直到满足大小要求
  27. # 移动图片到输出文件夹
  28. output_path = os.path.join(output_folder, filename)
  29. os.rename(temp_output_path, output_path)
  30. print("所有图片处理完成")

3、修改图像dpi

首先在桌面创建处理后的文件夹用来存储处理过的图片。在第二步的基础上再次进行更改dpi。此时修改过后图片的尺寸大小、内存大小不会再发生改变了,我们开始进行修改图片的dpi。

  1. import os
  2. from PIL import Image
  3. input_folder = '修改内存大小后图片的文件夹存放位置'
  4. output_folder = '修改后图片的文件存放位置'
  5. # 确保输出文件夹存在,如果不存在则创建
  6. if not os.path.exists(output_folder):
  7. os.makedirs(output_folder)
  8. # 遍历文件夹中的所有文件
  9. for filename in os.listdir(input_folder):
  10. if filename.lower().endswith(('.jpg', '.jpeg', '.png')):
  11. # 打开图片
  12. image_path = os.path.join(input_folder, filename)
  13. image = Image.open(image_path)
  14. # 修改DPI
  15. dpi = (改成自己想要的dpi, 改成自己想要的dpi) # 设置为350dpi
  16. if 'dpi' in image.info:
  17. del image.info['dpi']
  18. image.info['dpi'] = dpi
  19. # 保存修改后的图片到输出文件夹
  20. output_path = os.path.join(output_folder, filename)
  21. image.save(output_path, dpi=dpi)
  22. print("所有图片修改完成")

修改完成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/831804
推荐阅读
相关标签
  

闽ICP备14008679号