成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

利用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)易的截圖工具

89542767 / 659人閱讀

  小編寫(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

相關(guān)文章

  • 微信公號(hào)DIY:MongoDB 簡(jiǎn)易ORM & 公號(hào)記賬數(shù)據(jù)庫(kù)設(shè)計(jì)

    摘要:然后又介紹了基于的公號(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)目代...

    Backache 評(píng)論0 收藏0
  • 微信公號(hào)DIY:MongoDB 簡(jiǎn)易ORM & 公號(hào)記賬數(shù)據(jù)庫(kù)設(shè)計(jì)

    摘要:然后又介紹了基于的公號(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)目代...

    DoINsiSt 評(píng)論0 收藏0
  • 端到端測(cè)試哪家強(qiáng)?不容錯(cuò)過(guò)Cypress

    摘要:閱讀原文目前測(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 ...

    LancerComet 評(píng)論0 收藏0
  • Vuejs自己構(gòu)建工具

    摘要:然而,這些模板并不限制你自己對(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...

    leoperfect 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<