最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年07月01日 16:39:57   作者:晉升閣  
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)易的截圖工具,可以截完圖之后顯示并且永遠(yuǎn)前置,感興趣的小伙伴可以嘗試一下

這是工作期間同事想要個(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ān)于利用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)易的截圖工具的文章就介紹到這了,更多相關(guān)Python截圖工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python?包之?APScheduler?定時(shí)任務(wù)

    python?包之?APScheduler?定時(shí)任務(wù)

    這篇文章主要介紹了python?包之?APScheduler?定時(shí)任務(wù),文章基于python的相關(guān)資料展開(kāi)主題內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • Ubuntu下Python2與Python3的共存問(wèn)題

    Ubuntu下Python2與Python3的共存問(wèn)題

    Linux系統(tǒng)一般自帶Python,有時(shí)候又自己下載了Python,因此有可能Python2和Python3同時(shí)存在。那么當(dāng)我們?cè)赥erminal鍵入python的時(shí)候,會(huì)調(diào)出哪個(gè)Python呢?本文即解決這個(gè)問(wèn)題
    2018-10-10
  • 基于Python實(shí)現(xiàn)人機(jī)PK小游戲

    基于Python實(shí)現(xiàn)人機(jī)PK小游戲

    這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)人機(jī)PK小游戲,簡(jiǎn)單來(lái)說(shuō),就是隨機(jī)生成玩家和敵人的屬性,同時(shí)互相攻擊,直至一方血量小于零,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-06-06
  • Django Channels 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)實(shí)時(shí)聊天和消息推送功能

    Django Channels 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)實(shí)時(shí)聊天和消息推送功能

    這篇文章主要介紹了Django Channels 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)實(shí)時(shí)聊天和消息推送功能,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python中numpy數(shù)組的維度增減方法詳解

    Python中numpy數(shù)組的維度增減方法詳解

    這篇文章主要介紹了Python中numpy數(shù)組的維度增減方法詳解,在操作數(shù)組情況下,需要按照某個(gè)軸將不同數(shù)組的維度對(duì)齊,這時(shí)候需要為數(shù)組添加維度(特別是將二維數(shù)組變成高維張量的情況下),numpy提供了expand_dims()函數(shù)來(lái)為數(shù)組增加維度,需要的朋友可以參考下
    2023-09-09
  • Python中命令行參數(shù)argparse模塊的使用

    Python中命令行參數(shù)argparse模塊的使用

    argparse是python自帶的命令行參數(shù)解析包,可以用來(lái)方便的服務(wù)命令行參數(shù)。本文將通過(guò)示例和大家詳細(xì)講講argparse的使用,需要的可以參考一下
    2023-02-02
  • Python3.6連接Oracle數(shù)據(jù)庫(kù)的方法詳解

    Python3.6連接Oracle數(shù)據(jù)庫(kù)的方法詳解

    這篇文章主要介紹了Python3.6連接Oracle數(shù)據(jù)庫(kù)的方法,較為詳細(xì)的分析了cx_Oracle模塊安裝及Python3.6使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫(kù)的具體操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • Python使用Cv2模塊識(shí)別驗(yàn)證碼的操作方法

    Python使用Cv2模塊識(shí)別驗(yàn)證碼的操作方法

    這篇文章主要介紹了Python使用Cv2模塊識(shí)別驗(yàn)證碼,使用Cv2模塊、pytesseract模塊進(jìn)行操作,pytesseract模塊將智能識(shí)別圖片字體數(shù)字,用于打印出來(lái),本文通過(guò)代碼案例給大家詳細(xì)講解,需要的朋友可以參考下
    2023-01-01
  • Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)扎氣球游戲

    Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)扎氣球游戲

    這篇文章主要為大家介紹了利用Python中的Pygame模塊實(shí)現(xiàn)的一個(gè)扎氣球游戲,文中的示例代碼講解詳細(xì),對(duì)我們了解Pygame模塊有一定的幫助,感興趣的可以學(xué)習(xí)一下
    2021-12-12
  • 利用Python實(shí)現(xiàn)一鍵將頭像轉(zhuǎn)成動(dòng)漫風(fēng)

    利用Python實(shí)現(xiàn)一鍵將頭像轉(zhuǎn)成動(dòng)漫風(fēng)

    小編今天將為大家詳細(xì)介紹如何利用Python語(yǔ)言制作一個(gè)UI界面,大家可以通過(guò)一鍵點(diǎn)擊就實(shí)現(xiàn)頭像照片轉(zhuǎn)化成動(dòng)漫風(fēng)格的功能,感興趣的可以動(dòng)手嘗試一下
    2022-07-07

最新評(píng)論

绵竹市| 汾西县| 恩施市| 蒲江县| 郓城县| 祁连县| 观塘区| 察哈| 丹寨县| 卢氏县| 高要市| 北安市| 临清市| 通城县| 台湾省| 奇台县| 洪洞县| 科尔| 南涧| 西青区| 定结县| 玛多县| 阿坝| 黄大仙区| 铜梁县| 常宁市| 深泽县| 韩城市| 郴州市| 闵行区| 庆城县| 郓城县| 哈巴河县| 基隆市| 中山市| 遵化市| 台山市| 永和县| 柘城县| 曲水县| 屯留县|