在发表论文时,有时需要提供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