diff --git a/hig_class.py b/hig_class.py new file mode 100644 index 0000000..aa17677 --- /dev/null +++ b/hig_class.py @@ -0,0 +1,90 @@ +from PIL import Image as Im +import tkinter as tk +from extra import wlw +from tkinter.filedialog import askopenfilename +import tkinter.messagebox +import tkinter.ttk +import tkinter.messagebox +from PIL import ImageDraw +from PIL import ImageFont +from PIL import ImageEnhance + + +class picture(object): + """description of class""" + + # 打开图像调用 + def open_pic(self, address): + self.pic_get = Im.open(address).convert('RGBA') + wid, hei = self.pic_get.size + if wid > 600 or hei > 400: + if tk.messagebox.askokcancel('提示', '图片可能过大,是否压缩?'): + needShow_pic = self.openResize() + return needShow_pic + return self.pic_get + else: + return self.pic_get + + # 打开图像时的图像压缩展示 + def openResize(self): + w, h = self.pic_get.size + w_hope = 500 + h_hope = 300 + f1 = 1.0 * w_hope / w + f2 = 1.0 * h_hope / h + factor = min([f1, f2]) + width = int(w * factor) + height = int(h * factor) + pic_show = self.pic_get.resize((width, height)) + return pic_show + + # 截图处理 + def Cutpic(self, pic_preCut, p1, p2, p3, p4): + cropped_pic = pic_preCut.crop((p1, p2, p3, p4)) # 截图 + return cropped_pic + + # 尺寸大小变化 + def changeResize(self, pic_reshow, newWidth, newHeight): + reesizeNew_pic = pic_reshow.resize((newWidth, newHeight)) # 修改尺寸 + # print('3') + return reesizeNew_pic + + # 镜像左右 + def MirrorPic_leftOrright(self, pic_mir_lr): + Mirror_lrFinish = pic_mir_lr.transpose(Im.FLIP_LEFT_RIGHT) # 镜像左右 + return Mirror_lrFinish + + # 镜像上下 + def MirrorPic_topOrbuttom(self, pic_mir_tp): + Mirror_tbFinish = pic_mir_tp.transpose(Im.FLIP_TOP_BOTTOM) # 镜像上下 + return Mirror_tbFinish + + # 旋转 + def rotatePic(self, pic_prerotate, rodegreee): + rotateNew_pic = pic_prerotate.rotate(rodegreee, expand=True) + return rotateNew_pic + + # 亮度 + def brightPic(self, pic_prebright, n): + pic_brighted = ImageEnhance.Brightness(pic_prebright).enhance(n) # 亮度 + return pic_brighted + + # 色彩度 + def colornPic(self, pic_preColor, n): + pic_colored = ImageEnhance.Color(pic_preColor).enhance(n) # 色彩度 + return pic_colored + + # 对比度 + def constractPic(self, pic_preCon, n): + enh_con = ImageEnhance.Contrast(pic_preCon) + contrast = n + pic_contrasted = enh_con.enhance(contrast) # 对比度 + return pic_contrasted + + # 锐度调整 + def sharpPic(self, pic_preSharp, n): + pic_sharped = ImageEnhance.Sharpness(pic_preSharp).enhance(n) + return pic_sharped + + +