亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python3.4 tkinter,PIL圖片轉換

2020-02-15 21:58:03
字體:
來源:轉載
供稿:網友

先給大家分享一下全部代碼

import osfrom PIL import Imageimport tkinterimport tkinter.filedialogimport tkinter.messageboxclass Window():  def __init__(self):    self.root = root = tkinter.Tk()    self.menu = tkinter.Menu(root)    self.submenu = tkinter.Menu(self.menu, tearoff=0)    self.submenu.add_command(label='作者: 王小濤同學')    root.config(menu=self.submenu)    self.Image = tkinter.StringVar()    self.Image.set('.bmp')    self.mstatus = tkinter.IntVar()    self.fstatus = tkinter.IntVar()    self.mstatus.set(0)    self.fstatus.set(0)    self.status = tkinter.StringVar()    self.label = tkinter.Label(root, text='輸入百分比')    self.label.place(x=5, y=5)    self.entryNew = tkinter.Entry(root)    self.entryNew.place(x=70, y=5)    self.checkM = tkinter.Checkbutton(self.root, text='批量轉換', command=self.OnCheckM, variable=self.mstatus, onvalue=1, offvalue=0)    self.checkM.place(x=5, y=30)    self.label = tkinter.Label(root, text='選擇文件')    self.label.place(x=5, y=55)    self.entryFile = tkinter.Entry(root)    self.entryFile.place(x=70, y=55)    self.BrowserFileButton = tkinter.Button(root, text='瀏覽', command=self.BrowserFile)    self.BrowserFileButton.place(x=220, y=55)    self.label = tkinter.Label(root, text='選擇目錄')    self.label.place(x=5, y=90)    self.entryDir = tkinter.Entry(root, state=tkinter.DISABLED)    self.entryDir.place(x=70, y=90)    self.BrowserDirButton = tkinter.Button(root, text='瀏覽', command=self.BrowserDir, state=tkinter.DISABLED)    self.BrowserDirButton.place(x=220, y=90)    self.checkF = tkinter.Checkbutton(root, text='改變文件格式', onvalue=1, offvalue=0, variable=self.fstatus, command=self.OnCheckF)    self.checkF.place(x=5, y=120)    frame = tkinter.Frame(root, )    frame.place(x=10, y=150)    self.rBmp = tkinter.Radiobutton(frame, variable=self.Image, value='.bmp', text='BMP', state=tkinter.DISABLED)    self.rBmp.pack(anchor='w')    self.rJpg = tkinter.Radiobutton(frame, variable=self.Image, value='.jpg', text='JPG', state=tkinter.DISABLED)    self.rJpg.pack(anchor='w')    self.rPng = tkinter.Radiobutton(frame, variable=self.Image, value='.png', text='PNG', state=tkinter.DISABLED)    self.rPng.pack(anchor='w')    self.rGif = tkinter.Radiobutton(frame, variable=self.Image, value='.gif', text='GIF', state=tkinter.DISABLED)    self.rGif.pack(anchor='w')    self.ButtonCov = tkinter.Button(root, text='轉換格式', command=self.Conv, )    self.ButtonCov.place(x=120, y=180)    self.statusLabel = tkinter.Label(root, textvariable=self.status, fg='red')    self.statusLabel.place(x=80, y=220)  def OnCheckM(self):    if not self.mstatus.get():      self.entryDir.config(state=tkinter.DISABLED)      self.entryFile.config(state=tkinter.NORMAL)      self.BrowserFileButton.config(state=tkinter.NORMAL)      self.BrowserDirButton.config(state=tkinter.DISABLED)    else:      self.entryDir.config(state=tkinter.NORMAL)      self.entryFile.config(state=tkinter.DISABLED)      self.BrowserFileButton.config(state=tkinter.DISABLED)      self.BrowserDirButton.config(state=tkinter.NORMAL)  def OnCheckF(self):    if not self.fstatus.get():      self.rBmp.config(state=tkinter.DISABLED)      self.rPng.config(state=tkinter.DISABLED)      self.rJpg.config(state=tkinter.DISABLED)      self.rGif.config(state=tkinter.DISABLED)    else:      self.rBmp.config(state=tkinter.NORMAL)      self.rPng.config(state=tkinter.NORMAL)      self.rJpg.config(state=tkinter.NORMAL)      self.rGif.config(state=tkinter.NORMAL)  def BrowserFile(self):    file = tkinter.filedialog.askopenfilename(title='Python player', filetypes=[('JPG', '*.jpg'), ('BMP', '*.bmp'), ('GIF', '*.gif'), ('PNG', '*.png')])    if file:      self.entryFile.delete(0, tkinter.END)      self.entryFile.insert(tkinter.END, file)  def BrowserDir(self):    directory = tkinter.filedialog.askdirectory(title='Python')    if directory:      self.entryDir.delete(0, tkinter.END)      self.entryDir.insert(tkinter.END, directory)  def make(self, file, format=None):    im = Image.open(file)    mode = im.mode    if mode not in('L', 'RGB'):      im = im.convert('RGB')    width, height = im.size    s = self.entryNew.get()    if s == '':      tkinter.messagebox.showerror('出錯啦', '請輸入百分比')      return    else:      n = int(s)    nwidth = int(width*n/100)    nheight = int(height*n/100)    thumb = im.resize((nwidth, nheight), Image.ANTIALIAS)    if format:      thumb.save(file[:(len(file)-4)] + '_thumb' + format)    else:      thumb.save(file[:(len(file)-4)] + '_thumb' + file[-4:])  def Conv(self):    n = 0    if self.mstatus.get():      path = self.entryDir.get()      if path == "":        tkinter.messagebox.showerror('出錯啦', '請選擇路徑')        return      filenames = os.listdir(path)      if self.fstatus.get():        f = self.Image.get()        print(f)        for filename in filenames:          if filename[-3:] in ('bmp', 'jpg', 'gif', 'png'):            self.make(path+'/'+filename, f)            n += 1      else:        for filename in filenames:          if filename[-3:] in ('bmp', 'jpg', 'gif', 'png'):            self.make(path+'/'+filename)            n += 1    else:      file = self.entryFile.get()      if file == '':        tkinter.messagebox.showerror('出錯啦', '請選擇文件')        return      if self.fstatus.get():        f = self.Image.get()        self.make(file, f)        n += 1      else:        self.make(file)        n += 1    self.status.set('成功轉換 %d 張圖片' % n)  def mainloop(self):    self.root.minsize(280, 270)    self.root.maxsize(280, 250)    self.root.title('圖片轉換')    self.root.mainloop()if __name__ == "__main__":  window = Window()  window.mainloop()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲色无码播放| 欧美日韩国产一区中文午夜| 亚洲开心激情网| 亚洲字幕在线观看| 国产精品第七影院| 亚洲人线精品午夜| 亚洲一区二区三区四区视频| 日韩av在线免播放器| 国产欧美日韩免费| 久久久久久午夜| 国产一区欧美二区三区| 91在线免费视频| 欧美日韩一区二区三区在线免费观看| 久久精品99久久香蕉国产色戒| 黑人巨大精品欧美一区免费视频| 秋霞av国产精品一区| 国产精品va在线播放| 日本国产欧美一区二区三区| 成人精品一区二区三区电影免费| 91精品视频在线免费观看| 亚洲福利精品在线| 久久久久999| 91久久久久久久久久久久久| 高清欧美电影在线| 日韩av在线看| 性色av一区二区三区在线观看| 欧美美女15p| 国产一区二区日韩精品欧美精品| 日韩美女免费观看| 国产精品普通话| 欲色天天网综合久久| 性色av一区二区三区在线观看| 18一19gay欧美视频网站| 亚洲综合av影视| 亚洲美女自拍视频| 国产原创欧美精品| 亚洲人成网站999久久久综合| 亚洲一区第一页| 欧美日本啪啪无遮挡网站| 久久久久久久久久av| 亚洲黄色www网站| 日韩精品免费在线播放| 日韩美女视频免费看| 精品日本美女福利在线观看| 亚洲精品www| 亚洲精品日韩丝袜精品| 日韩在线激情视频| 青青草精品毛片| 精品小视频在线| 最近2019中文字幕第三页视频| 日韩高清电影免费观看完整版| 欧美激情综合色| 国产精品成av人在线视午夜片| 亚洲国产成人精品电影| 尤物九九久久国产精品的特点| 欧美成人国产va精品日本一级| 91久久综合亚洲鲁鲁五月天| 亚洲欧美国产高清va在线播| 亚洲www永久成人夜色| 97超级碰在线看视频免费在线看| 亚洲自拍偷拍福利| 久久久在线观看| 91免费看国产| 51视频国产精品一区二区| 亚洲网在线观看| 欧美激情精品久久久久久久变态| 久久手机精品视频| 国产精品h在线观看| 亚洲国产精品999| 亚洲国产欧美久久| 国产精品永久免费观看| 在线视频欧美日韩| 国产在线视频2019最新视频| 欧洲一区二区视频| 国产精品国产亚洲伊人久久| 日韩精品免费一线在线观看| 高清日韩电视剧大全免费播放在线观看| 久久九九热免费视频| 国内精品久久影院| 欧美视频不卡中文| 永久555www成人免费| 日韩欧美一区二区三区久久| 欧美成年人视频网站| 欧美成人免费全部观看天天性色| 亚洲无av在线中文字幕| 精品视频一区在线视频| 亚洲性xxxx| 欧美日韩精品在线观看| 91爱爱小视频k| 国产视频丨精品|在线观看| 国产精品久久国产精品99gif| 日韩av影视在线| 久久影院在线观看| 欧美极品美女视频网站在线观看免费| 久久99热精品这里久久精品| 久久久伊人欧美| 国产一区二区动漫| 亚洲变态欧美另类捆绑| 国产大片精品免费永久看nba| 亚洲天堂视频在线观看| 国产有码在线一区二区视频| 国产精品免费一区二区三区都可以| 国产精品美女www| 日韩欧美在线视频免费观看| 久久99热这里只有精品国产| 国产精品一二三在线| 欧美一级免费看| 日韩成人激情在线| 亚洲视频国产视频| 国产欧美最新羞羞视频在线观看| 97久久精品人人澡人人爽缅北| 91精品一区二区| 最近中文字幕日韩精品| 欧美另类交人妖| 欧美激情极品视频| 在线观看国产精品日韩av| 国产精品成人观看视频国产奇米| 久久久久久久激情视频| 成人激情综合网| 538国产精品视频一区二区| 欧美日韩激情网| 日韩中文字幕不卡视频| 在线成人免费网站| 亚洲成人黄色在线观看| 久久99精品久久久久久噜噜| 国产精品福利观看| 日韩hd视频在线观看| 91手机视频在线观看| 午夜美女久久久久爽久久| 韩国三级电影久久久久久| 在线观看精品自拍私拍| 成人a视频在线观看| 亚洲天堂av高清| 亚洲最大av网站| 亚洲天堂影视av| 欧美激情欧美激情在线五月| 中文字幕亚洲自拍| 亚洲成人1234| 中文字幕亚洲自拍| 欧美成人国产va精品日本一级| 欧美日韩亚洲视频一区| 国产精品手机播放| 日韩欧亚中文在线| 亚洲欧美一区二区三区情侣bbw| 亚洲激情在线观看视频免费| 日韩精品免费看| 国产精品一区二区三区在线播放| 一本大道亚洲视频| 国产精品视频资源| 欧美大片在线影院| 一区二区三区亚洲| 国产精品高潮粉嫩av| 国产极品精品在线观看| 国产欧美日韩中文| 91精品国产高清自在线| 欧美激情综合亚洲一二区| 91成人天堂久久成人| 亚洲一区二区三区视频播放| 日韩激情av在线免费观看| 国产欧美日韩精品在线观看| 在线观看91久久久久久| 亚洲色图18p| 亚洲天天在线日亚洲洲精| 亚洲国产精久久久久久|