搜索

Python实现图片DPI调整

时间:2025-03-07作者:安远点击:

在发表论文时,有时需要提供300DPI的图片,但一些原始图片DPI不够,需要通过一些手段转换成目标格式。程序的主要内容包括:

1.读取目标DPI

2.读取原始图片

3.转化DPI

4.存储新的图片


首先使用tkinter库打开窗口选择需要处理的图片,然后使用图片处理库PIL 改变DPI大小,并存储。

1. from PIL import Image

2. import tkinter as tk

3. from tkinter import filedialog

4. root=tk.Tk()

5. root.withdraw()


确定目标DPI

1. filepath0='dpinumber.txt'

2. dpinum=300

3. with open (filepath0,"r",encoding="utf-8")as f:

4. for line in f:

5.        dpinum=int(line.split('\n')[0])

6.    f.close()


打开图片文件,准备好新文件名。修改DPI后保存。

1. NewHead='-'+str(dpinum)+'dpi'

2.

3. file_paths=filedialog.askopenfilenames()

4. for FileName in file_paths:

5. if '/' in FileName :

6.        FileName.replace('/', '\\')

7. print('Find')

8.

9. if len(FileName) == 0 :

10. print('未找到文件夹!')

11. else :

12. print('File:',FileName)

13.    filenamecount=FileName.split('.')

14.    str_list=list(FileName)

15. print(filenamecount)

16.    str_list.insert(len(str_list)-len(filenamecount[len(filenamecount)-1])-1,NewHead)

17.    NewFileName=''.join(str_list)

18. print(NewFileName)

19.    image = Image.open(FileName)

20.    original_size=image.size

21.    new_dpi=(dpinum,dpinum)

22.    old_dpi=image.info.get('dpi')

23. print(old_dpi)

24.    image.save(NewFileName,dpi=new_dpi)


在这里就实现了修改图片DPI为任意数字的功能。


百度网盘文件链接

链接:https://pan.baidu.com/s/1mqwYqpQcb7dfR6i0d5pCoA?pwd=osqd

提取码:osqd