小編寫(xiě)這篇文章的一個(gè)主要目的,主要是利用Python去制作截圖工具,當(dāng)然,這個(gè)截圖工具是比較的簡(jiǎn)易的,那么,具體的一個(gè)制作步驟是什么呢?下面就給大家詳細(xì)解答下。
這是工作期間同事想要個(gè)截完圖之后可以顯示并且永遠(yuǎn)前置的截圖小工具(即不會(huì)被其他程序覆蓋)直接上代碼:
##-*-coding:utf-8-*- import tkinter as tk import pyautogui import tkinter from PIL import ImageTk from PIL import Image root=tk.Tk() root.wm_attributes('-topmost',1) root.overrideredirect(True)#隱藏窗口的標(biāo)題欄 #root.attributes("-alpha",0.3)#窗口透明度70% root.attributes("-alpha",0.4)#窗口透明度60% #root.geometry("300x200+10+10")#設(shè)置窗口大小與位置 root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(),root.winfo_screenheight())) root.configure(bg="blue") #當(dāng)工具條 canvas=tk.Canvas(root) canvas.configure(width=300) canvas.configure(height=100) canvas.configure(bg="yellow") canvas.configure(highlightthickness=0)#高亮厚度 canvas.place(x=(root.winfo_screenwidth()-500),y=(root.winfo_screenheight()-300)) canvas.create_text(150,50,font='Arial-20 bold',text='ESC退出,假裝工具條') #再創(chuàng)建1個(gè)Canvas用于圈選 cv=tk.Canvas(root) x,y=0,0 xstart,ystart=0,0 def move(event): global x,y,xstart,ystart new_x=(event.x-x)+canvas.winfo_x() new_y=(event.y-y)+canvas.winfo_y() s="300x200+"+str(new_x)+"+"+str(new_y) canvas.place(x=new_x-xstart,y=new_y-ystart) print("s=",s) print(root.winfo_x(),root.winfo_y()) print(event.x,event.y) #鼠標(biāo)左鍵按下 def button_1(event): global x,y,xstart,ystart x,y=event.x,event.y xstart,ystart=event.x,event.y print("event.x,event.y=",event.x,event.y) xstart,ystart=event.x,event.y cv.configure(height=1) cv.configure(width=1) cv.place(x=event.x,y=event.y) #鼠標(biāo)左鍵按下并移動(dòng) def b1_Motion(event): global x,y x,y=event.x,event.y print("event.x,event.y=",event.x,event.y) cv.configure(height=event.y-ystart) cv.configure(width=event.x-xstart) #鼠標(biāo)左鍵松開(kāi) def buttonRelease_1(event): global x,y,xstart,ystart x,y=event.x,event.y print("event.x,event.y=",event.x,event.y) Pstart=[0,0] cv.place_forget() img=pyautogui.screenshot(region=[xstart,ystart,x-xstart,y-ystart])#x,y,w,h img.save('screenshot.png') #退出 def sys_out(even): root.destroy() func() #綁定事件 canvas.bind("<B1-Motion>",move) #綁定事件到Esc鍵,當(dāng)按下Esc鍵就會(huì)調(diào)用sys_out函數(shù),彈出對(duì)話框 root.bind('<Escape>',sys_out) root.bind("<Button-1>",button_1) root.bind("<B1-Motion>",b1_Motion) root.bind("<ButtonRelease-1>",buttonRelease_1) img_png=None def func(): root1=tk.Tk() root1.wm_attributes('-topmost',1) img_open=Image.open("screenshot.png") global img_png img_png=ImageTk.PhotoImage(img_open) label_img=tk.Label(root1,image=img_png) label_img.pack() root.mainloop()
具體用法是運(yùn)行程序、選中區(qū)域(支持多次選定,以最后一次選定為主)、按esc完成截圖同時(shí)彈出永遠(yuǎn)前置的截圖照片窗體。
我打包了發(fā)給同事同事說(shuō)很好用,就是差個(gè)快捷鍵。
其實(shí)也很簡(jiǎn)單,只須打包成exe程序后右擊屬性中設(shè)置快捷鍵即可~
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)一定幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/128424.html
摘要:然后又介紹了基于的公號(hào)賬本應(yīng)用的數(shù)據(jù)庫(kù)設(shè)計(jì)。歡迎關(guān)注公號(hào)四月試用。 前兩篇 微信公號(hào)DIY 系列: 微信公號(hào)DIY:一小時(shí)搭建微信聊天機(jī)器人 微信公號(hào)DIY:訓(xùn)練聊天機(jī)器人&公號(hào)變身圖片上傳工具 介紹了如何使用搭建&訓(xùn)練聊天機(jī)器人以及讓公號(hào)支持圖片上傳到七牛,把公號(hào)變成一個(gè)七牛圖片上傳客戶端。這一篇將繼續(xù)開(kāi)發(fā)公號(hào),讓公號(hào)變成一個(gè)更加實(shí)用的工具賬本(理財(cái)從記賬開(kāi)始)。 代碼: 項(xiàng)目代...
摘要:然后又介紹了基于的公號(hào)賬本應(yīng)用的數(shù)據(jù)庫(kù)設(shè)計(jì)。歡迎關(guān)注公號(hào)四月試用。 前兩篇 微信公號(hào)DIY 系列: 微信公號(hào)DIY:一小時(shí)搭建微信聊天機(jī)器人 微信公號(hào)DIY:訓(xùn)練聊天機(jī)器人&公號(hào)變身圖片上傳工具 介紹了如何使用搭建&訓(xùn)練聊天機(jī)器人以及讓公號(hào)支持圖片上傳到七牛,把公號(hào)變成一個(gè)七牛圖片上傳客戶端。這一篇將繼續(xù)開(kāi)發(fā)公號(hào),讓公號(hào)變成一個(gè)更加實(shí)用的工具賬本(理財(cái)從記賬開(kāi)始)。 代碼: 項(xiàng)目代...
摘要:閱讀原文目前測(cè)試工具有哪些項(xiàng)目不需要不需要端到端測(cè)試一般都需要一個(gè)容器,來(lái)運(yùn)行前端應(yīng)用。向快速,一致和可靠的無(wú)剝落測(cè)試問(wèn)好。 閱讀原文 1. 目前E2E測(cè)試工具有哪些? 項(xiàng)目 Web Star puppeteer Chromium (~170Mb Mac, ~282Mb Linux, ~280Mb Win) 31906 nightmare Electron 15502 ...
摘要:然而,這些模板并不限制你自己對(duì)于使用的架構(gòu)組織和選擇類庫(kù)。目前可用的模板包括全功能的,包括熱加載,靜態(tài)檢測(cè),單元測(cè)試一個(gè)簡(jiǎn)易的,以便于快速開(kāi)始。 最近, 尤大在和人對(duì)噴的時(shí)候,悄然放出了一個(gè)大招,于是為了追趕他的步伐,趕緊試驗(yàn)了下,并且把原文給大家翻譯下。 原文地址:Announcing vue-cli 譯文源地址: Vuejs自己的構(gòu)建工具 先上原文翻譯: 最近有很多大量關(guān)于Reac...
閱讀 1068·2023-01-14 11:38
閱讀 1064·2023-01-14 11:04
閱讀 905·2023-01-14 10:48
閱讀 2380·2023-01-14 10:34
閱讀 1148·2023-01-14 10:24
閱讀 1027·2023-01-14 10:18
閱讀 656·2023-01-14 10:09
閱讀 735·2023-01-14 10:02