日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能

瀏覽:19日期:2022-07-06 13:19:36

實(shí)現(xiàn):tkinter 畫布上顯示圖片,按下鼠標(biāo)左鍵并且移動(dòng),實(shí)現(xiàn)截圖

代碼如下

# -*- encoding=utf-8 -*-import osimport tkinter as tkfrom PIL import Imagefrom PIL import ImageTkleft_mouse_down_x = 0left_mouse_down_y = 0left_mouse_up_x = 0left_mouse_up_y = 0sole_rectangle = Nonedef left_mouse_down(event): # print(’鼠標(biāo)左鍵按下’) global left_mouse_down_x, left_mouse_down_y left_mouse_down_x = event.x left_mouse_down_y = event.ydef left_mouse_up(event): # print(’鼠標(biāo)左鍵釋放’) global left_mouse_up_x, left_mouse_up_y left_mouse_up_x = event.x left_mouse_up_y = event.y corp_img(img_path, ’img/one_corp.png’, left_mouse_down_x, left_mouse_down_y, left_mouse_up_x, left_mouse_up_y)def moving_mouse(event): # print(’鼠標(biāo)左鍵按下并移動(dòng)’) global sole_rectangle global left_mouse_down_x, left_mouse_down_y moving_mouse_x = event.x moving_mouse_y = event.y if sole_rectangle is not None: canvas.delete(sole_rectangle) # 刪除前一個(gè)矩形 sole_rectangle = canvas.create_rectangle(left_mouse_down_x, left_mouse_down_y, moving_mouse_x, moving_mouse_y, outline=’red’)def right_mouse_down(event): # print(’鼠標(biāo)右鍵按下’) passdef right_mouse_up(event): # print(’鼠標(biāo)右鍵釋放’) passdef corp_img(source_path, save_path, x_begin, y_begin, x_end, y_end): if x_begin < x_end: min_x = x_begin max_x = x_end else: min_x = x_end max_x = x_begin if y_begin < y_end: min_y = y_begin max_y = y_end else: min_y = y_end max_y = y_begin save_path = os.path.abspath(save_path) if os.path.isfile(source_path): corp_image = Image.open(source_path) region = corp_image.crop((min_x, min_y, max_x, max_y)) region.save(save_path) print(’裁剪完成,保存于:{}’.format(save_path)) else: print(’未找到文件:{}’.format(source_path))if __name__ == ’__main__’: pass win = tk.Tk() frame = tk.Frame() frame.pack() screenwidth = win.winfo_screenwidth() screenheight = win.winfo_screenheight() img_path = ’img/one.png’ # img_path = ’img/bg.jpg’ # img_path = ’img/test.jpg’ # img_path = ’img/pic.gif’ image = Image.open(img_path) image_x, image_y = image.size if image_x > screenwidth or image_y > screenheight: print(’The picture size is too big,max should in:{}x{}, your:{}x{}’.format(screenwidth, screenheight, image_x, image_y)) img = ImageTk.PhotoImage(image) canvas = tk.Canvas(frame, width=image_x, height=image_y, bg=’pink’) i = canvas.create_image(0, 0, anchor=’nw’, image=img) canvas.pack() canvas.bind(’<Button-1>’, left_mouse_down) # 鼠標(biāo)左鍵按下 canvas.bind(’<ButtonRelease-1>’, left_mouse_up) # 鼠標(biāo)左鍵釋放 canvas.bind(’<Button-3>’, right_mouse_down) # 鼠標(biāo)右鍵按下 canvas.bind(’<ButtonRelease-3>’, right_mouse_up) # 鼠標(biāo)右鍵釋放 canvas.bind(’<B1-Motion>’, moving_mouse) # 鼠標(biāo)左鍵按下并移動(dòng) win.mainloop()

原圖one.png

Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能

運(yùn)行

Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能

Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能

one_corp.png

Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能

源碼(https://github.com/rainbow-tan/rainbow/tree/master/%E8%A3%81%E5%89%AA%E5%9B%BE%E7%89%87)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩超碰人人爽人人做人人添| 国产欧美一区二区精品久久久 | 美女精品久久| 久久国产精品免费一区二区三区 | 99pao成人国产永久免费视频| 自拍日韩欧美| 午夜亚洲精品| 亚洲一区导航| 日韩三级视频| 欧美精品国产| 免费在线观看一区| 精品视频在线观看网站| 粉嫩av一区二区三区四区五区| 精品免费在线| 正在播放日韩精品| 婷婷成人在线| 99在线观看免费视频精品观看| 美日韩精品视频| 亚洲另类视频| 国产麻豆一区二区三区 | 亚洲天堂av资源在线观看| 日韩精品一页| 国产亚洲精aa在线看| 国产精品密蕾丝视频下载| 国产亚洲字幕| 精品国产中文字幕第一页| 国产aⅴ精品一区二区四区| 秋霞影视一区二区三区| 午夜在线一区| 日韩不卡手机在线v区| 久久影院资源站| 久久久久欧美精品| 日韩在线a电影| 国产精品一区毛片| 亚洲伦乱视频| 久久高清国产| 欧美日韩亚洲一区三区| 精品久久久亚洲| 91精品91| 国产精品尤物| 免费高潮视频95在线观看网站| 亚洲精品一二三区区别| 97久久中文字幕| 高清av不卡| 久久亚洲色图| 久久精品国产99| 国产精品视区| 久久字幕精品一区| 亚洲激情二区| 国产精品一区三区在线观看| 日韩国产在线| 日韩国产欧美在线播放| sm久久捆绑调教精品一区| 欧美日韩视频一区二区三区| 日韩精品免费一区二区夜夜嗨| 你懂的国产精品| 免费久久精品| 国产精品一区二区三区av麻| 久久久一本精品| 日本一区福利在线| 97精品一区二区| 日韩一区精品字幕| 国产精品九九| 狠狠久久婷婷| 蜜桃久久久久| 亚洲日本免费电影| 日韩精品永久网址| 亚洲精品高潮| 蜜桃av在线播放| 日韩欧美中文字幕一区二区三区| 国产乱人伦精品一区| 99精品网站| 国产精品一区毛片| 亚洲精品123区| 久草精品视频| 亚洲1区在线观看| 国产高清不卡| 中文字幕日本一区| 视频小说一区二区| 国产精品欧美大片| 欧美专区在线| 中文字幕在线免费观看视频| 影音先锋久久精品| 麻豆网站免费在线观看| 国产乱人伦精品一区| 精品九九在线| 爽爽淫人综合网网站| 99精品视频在线| 日韩午夜电影| 91日韩在线| 中文字幕亚洲精品乱码| 麻豆精品蜜桃| 国产精品hd| 亚洲精品三级| 国产一区久久| 国产成人精品一区二区三区视频 | 涩涩av在线| 国产精品调教| 亚洲精华国产欧美| 91精品精品| 国产成人精品一区二区三区免费| 日韩久久99| 亚洲欧美日韩专区| 久久中文亚洲字幕| 日韩精品水蜜桃| 激情国产在线| 久久精品国产久精国产| 日韩二区三区四区| 综合激情婷婷| 美女网站久久| 精品1区2区3区4区| 99久久99视频只有精品| 97精品久久| 麻豆精品蜜桃视频网站| 国产欧美一区二区精品久久久| 喷白浆一区二区| 一区二区小说| 久久久久中文| 亚洲成人va| 黄毛片在线观看| 国产一区二区三区久久| 美腿丝袜亚洲三区| 麻豆免费精品视频| 久久久久伊人| 国产精品xxx在线观看| 欧美亚洲国产日韩| 欧美日韩午夜电影网| 日韩精品欧美精品| 国产精品婷婷| 亚洲欧美日韩综合国产aⅴ| 国产偷自视频区视频一区二区| 99国产精品久久久久久久成人热| 99在线|亚洲一区二区| 久热综合在线亚洲精品| 免费日本视频一区| 亚洲影院天堂中文av色| 青草综合视频| 国产午夜精品一区在线观看| 国产午夜久久av| 欧美成人精品一级| 麻豆视频久久| 日韩欧美一区二区三区在线视频| 成人福利av| 蜜桃av.网站在线观看| 日韩久久精品网| 亚洲高清激情| 欧美特黄一区| 91欧美日韩在线| 亚洲精品动态| 免费的成人av| 欧美91福利在线观看| 欧美日韩中文一区二区| 欧美成a人片免费观看久久五月天| 日本一二区不卡| 麻豆国产一区| 亚洲性色av| 99视频精品全国免费| 最新日韩av| 夜夜嗨一区二区三区| 一区二区三区四区日韩| 青青草精品视频| 国产一区二区三区不卡av| 久久中文亚洲字幕| 中文字幕亚洲精品乱码| 国产日本精品| 九九久久国产| 久久久影院免费| 男女男精品网站| 国产伦理久久久久久妇女| 92国产精品| 亚洲中午字幕| 国产精品一二| 欧美天堂视频| 乱人伦精品视频在线观看| 欧美日韩中文| 欧美黄色网页| 综合欧美精品| 成人国产精品一区二区网站| 伊人久久大香线蕉av超碰演员| 日韩在线黄色| 国产一区二区精品福利地址| 欧美jjzz| 麻豆精品av| 91精品亚洲| 天堂va欧美ⅴa亚洲va一国产| 国产精品亚洲一区二区在线观看| 久久av在线| 日本久久一区| 国产精品videossex久久发布| 婷婷激情一区| 日日夜夜免费精品视频| 欧美黑人巨大videos精品| 免费欧美一区| 国产精品18| 中文在线不卡| 国产一区丝袜| 蜜桃视频第一区免费观看| 久久久一本精品| 亚洲另类av| 国产欧美一区二区三区米奇|