比例压缩"/>
python图片照片比例压缩
近来几日研究python,为了熟练python语法,方便生活,练习了一个图片压缩功能,用TK做成了可视化,大佬们都说要养成记录和博客的习惯,于是乎我个菜鸡就来班门能斧了。
from PIL import Image as Im
import os
from tkinter import *
from tkinter import messagebox
import tkinter.filedialogapp = Tk()
app.title('照片压缩大小程序V1.0 刘秉哲')
app.geometry('300x200')
var_size = StringVar()
var_ck = StringVar()
label3=Label(app,textvariable=var_ck)
label4=Label(app,textvariable=var_size)
label5=Label(app,text='请在下方输入要压缩的倍数')
v1=StringVar()
E1 = Entry(app,textvariable=v1,bd =5)def chose():default_dir=r''global file_pathfile_path=tkinter.filedialog.askopenfilename(title=u'选择文件', initialdir=(os.path.expanduser(default_dir)))print(file_path)im = Im.open(file_path)(x, y) = im.sizec=str(im.size)size = str(os.path.getsize(file_path) / 1024)var_ck.set('当前文件(长,宽):'+c+'像素')var_size.set('当前文件大小:'+size[:5]+'KB')
def change():test=E1.get()if test:b=int(test)im = Im.open(file_path)(x, y) = im.sizeim.thumbnail((x/b, y/b))im.save('new_image.jpg',quality=100)size = str(os.path.getsize('new_image.jpg') / 1024)(x, y) = im.sizee=str(im.size)var_ck.set('修改后的文件(长,宽):'+e+'像素')var_size.set('修改后文件大小:'+size[:5]+'KB')else:r = messagebox.askokcancel('error', '请输入缩小倍数!')
label3.pack()
label4.pack()
label5.pack()
E1.pack()
button=Button(app,text='开始缩小',command=change).pack()
button1=Button(app,text='选择图片',command=chose).pack()
app.mainloop()
新手上路,班门弄斧。不足之处,欢迎指出。
新版:
from PIL import Image as Im
import os
def photoCrop():for i in os.listdir('./'):if i.endswith('.jpg'):im = Im.open(i)(x, y) = im.sizeprint('像素按比例压缩--------------------------------')print(f'当前图片[{i}]尺寸(单位:像素)\n宽:{x}\n高:{y}')print(f'当前文件大小: {int(os.path.getsize(i) / 1024)}KB')print('---------------------------------------------')b=int(input('请输入裁剪倍数: '))quality=int(input('请输入图片质量建议90: '))print('---------------------------------------------')print(f'裁剪后的图片尺寸(单位:像素)\n宽:{x/b}\n高:{y/b}')im.thumbnail((x/b,y/b))print('---------------------------------------------')im.save('D:/new_images.jpg',quality=quality)print('文件已经保存到D:/Anew_images.jpg')os.startfile('D:')
if __name__ == '__main__':photoCrop()
更多推荐
python图片照片比例压缩
发布评论