欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用python制作一個(gè)截圖小工具

 更新時(shí)間:2023年12月27日 09:09:34   作者:Python學(xué)習(xí)者  
這篇文章主要討論了我們?nèi)绾问褂肞ython編程語言進(jìn)行截圖,我們看到了如何使用pyautogui 模塊與save() 函數(shù)和其他模塊,如NumPy 和OpenCV ,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下

Python編程語言允許我們執(zhí)行各種任務(wù),所有這些都是在簡單模塊和短小精悍的代碼的幫助下完成的。在Python的幫助下進(jìn)行屏幕截圖就是這樣一項(xiàng)任務(wù)。

Python為我們提供了許多模塊,使我們能夠執(zhí)行不同的任務(wù)。有多種方法可以使用Python及其庫進(jìn)行屏幕截圖。

用Pyautogui模塊進(jìn)行截圖

第一種方法是使用Python提供的pyauotgui 模塊。你可以在終端窗口使用下面的命令來安裝這個(gè)模塊。

pip install pyautogui

pyautogui 模塊使用screenshot() 函數(shù),它有助于捕捉整個(gè)屏幕。之后,你可以使用save() 函數(shù)來保存圖像,或者使用imwrite() 函數(shù)與NumPy 和OpenCV 模塊一起把圖像寫到磁盤上。

詳細(xì)了解一下這兩種方法。

1.用Pyautogui模塊中的save() 函數(shù)

一旦你安裝了pyautogui 模塊,最簡單的截圖方法是使用screenshot() 函數(shù)和save() 函數(shù)。下面是一個(gè)使用這些函數(shù)的示例代碼。

示例代碼:

import pyautogui
demo_image = pyautogui.screenshot()
demo_image.save("demo_one.jpg")

首先,我們導(dǎo)入pyautogui 模塊。然后,我們調(diào)用screenshot() 函數(shù),該函數(shù)捕獲了屏幕的圖像。

此外,在最后一行代碼中,我們使用save() 函數(shù)和我們想保存的圖像的名稱。在這種情況下,捕獲的圖像可以通過文件名demo_one.jpg 找到。

下面是我們得到的輸出圖像。注意,你會在Jupyter筆記本或Python的同一目錄下找到這個(gè)圖像。

如果你想在捕捉圖像時(shí)有一些延遲,你可以使用time 模塊的sleep() 函數(shù)。

2.用Numpy和Opencv模塊與Pyautogui一起使用

第二種方法涉及到與pyautogui 一起使用另外兩個(gè)模塊;它們是NumPy 和OpenCV 。在第一種方法中,我們使用save() 函數(shù)來保存圖像。

但在這里,我們將使用這兩個(gè)模塊來拍攝和保存屏幕截圖。

通過在終端寫下以下命令來安裝Numpy 和OpenCV 。

pip install numpy

pip install opencv-python

下面是所有模塊安裝后必須使用的代碼。

示例代碼:

#import the required modules
import numpy as x
import cv2
import pyautogui
#use pyautogui to take screenshot
demo_image = pyautogui.screenshot()
#use opencv and numpy to manipulate image
demo_image = cv2.cvtColor(x.array(demo_image),cv2.COLOR_RGB2BGR)
#save the image using opencv
cv2.imwrite("demo_two.png", demo_image)

我們首先導(dǎo)入了所需的模塊,然后使用screenshot() 函數(shù)來捕獲屏幕。然后,我們將圖像轉(zhuǎn)換為NumPy 數(shù)組,并將顏色的順序從RGB改為BGR。

這樣做是因?yàn)楫?dāng)OpenCV 讀取圖像時(shí),它要求顏色的順序是BGR而不是默認(rèn)的RGB。最后,我們使用imwrite() 函數(shù)將圖像寫到磁盤上。

這就是輸出圖像的樣子。

輸出:

以上是關(guān)于如何在Python中使用pyautogui 模塊進(jìn)行屏幕截圖的全部內(nèi)容。現(xiàn)在,我們要進(jìn)入下一個(gè)方法來做同樣的事情。

要了解更多關(guān)于pyautogui 模塊的信息,請參考這個(gè)文檔。

用Pillow模塊

使用pyautogui 模塊,默認(rèn)情況下可以捕獲整個(gè)屏幕。然而,如果我們必須捕捉屏幕的一部分,我們可以使用Pillow 模塊。

這個(gè)模塊使用另一個(gè)叫做ImageGrab 的子模塊,讓我們設(shè)置我們想要捕捉的屏幕區(qū)域的坐標(biāo)。我們使用grab() 函數(shù)來指定這些坐標(biāo)。

下面是這種方法的代碼。

示例代碼:

#Python小白學(xué)習(xí)交流群:711312441
from PIL import ImageGrab
ss_coordinates = (200, 200, 600, 600)
demo_image = ImageGrab.grab(ss_coordinates)
demo_image.save("demo_three.jpg")

我們首先導(dǎo)入了Pillow 模塊和ImageGrab 子模塊。然后,我們?yōu)槲覀兿胍蹲降钠聊辉O(shè)置了一些坐標(biāo)。

此外,我們使用grab() 函數(shù),并將這些坐標(biāo)傳遞給該函數(shù)。然后,使用save() 方法保存捕獲的圖像。

這就是我們得到的屏幕截圖。

輸出

從本質(zhì)上講,這就是在Python中拍攝屏幕截圖的方法,即通過設(shè)置坐標(biāo)。參考該文檔以了解更多關(guān)于Pillow 模塊的信息。

用Pyscreenshot模塊

Python提供了這個(gè)叫做pyscreenshot 的模塊,其唯一的任務(wù)就是進(jìn)行截圖。要安裝這個(gè)模塊,在終端使用以下命令。

pip install pyscreenshot

一旦該模塊安裝完畢,使用這段代碼對整個(gè)屏幕進(jìn)行截圖。

示例代碼:

import pyscreenshot
image_demo = pyscreenshot.grab()
image_demo.save("demo_four.png")

我們首先導(dǎo)入了pyscreenshot 模塊,然后使用grab() 函數(shù)來捕獲屏幕。最后,我們使用save() 函數(shù)來保存圖像。

下面是我們得到的圖像的輸出。

輸出:

我們還可以使用這個(gè)模塊來捕捉屏幕的一部分。我們只需將所需的坐標(biāo)作為一個(gè)元組傳遞給grab() 函數(shù)。

下面是對屏幕特定部分進(jìn)行截圖的代碼。

示例代碼:

import pyscreenshot
image_demo = pyscreenshot.grab(bbox=(100, 100, 500, 500))
image_demo.save("demo_five.png")

請注意,我們在代碼的第二行中傳遞了我們想要捕捉的屏幕部分的坐標(biāo)。其余的代碼與前面的代碼工作相同。

下面是捕捉到的圖像。

輸出:

注意這個(gè)模塊,pyscreenshot ,已經(jīng)不怎么用了,你最好選擇我們討論的前兩種在Python中拍攝屏幕的方法。這就是關(guān)于如何在Python中進(jìn)行屏幕截圖的全部內(nèi)容。

總結(jié)

這篇文章討論了我們?nèi)绾问褂肞ython編程語言進(jìn)行截圖。我們看到了如何使用pyautogui 模塊與save() 函數(shù)和其他模塊,如NumPy 和OpenCV 。

我們還學(xué)習(xí)了如何使用Python的Pillow 模塊來捕捉屏幕的一部分。此外,我們還看到了如何使用pyscreenshot 模塊來捕獲整個(gè)屏幕和它的一部分。

到此這篇關(guān)于使用python制作一個(gè)截圖小工具的文章就介紹到這了,更多相關(guān)python制作截圖工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談python中的正則表達(dá)式(re模塊)

    淺談python中的正則表達(dá)式(re模塊)

    本篇文章主要介紹了淺談python中的正則表達(dá)式(re模塊),通過內(nèi)嵌集成re模塊,程序媛們可以直接調(diào)用來實(shí)現(xiàn)正則匹配,有興趣的可以了解一下
    2017-10-10
  • Qt Quick QML-500行代碼實(shí)現(xiàn)合成大西瓜游戲

    Qt Quick QML-500行代碼實(shí)現(xiàn)合成大西瓜游戲

    合成大西瓜游戲是前段時(shí)間比較火的小游戲,最近小編閑來無事,通過研究小球碰撞原理親自寫碰撞算法實(shí)現(xiàn)一個(gè)合成大西瓜游戲,下面小編把我的實(shí)現(xiàn)思路及核心代碼分析出來,供大家參考
    2021-05-05
  • python通過tcp發(fā)送xml報(bào)文的方法

    python通過tcp發(fā)送xml報(bào)文的方法

    今天小編就為大家分享一篇python通過tcp發(fā)送xml報(bào)文的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 解決使用pycharm提交代碼時(shí)沖突之后文件丟失找回的方法

    解決使用pycharm提交代碼時(shí)沖突之后文件丟失找回的方法

    這篇文章主要介紹了解決使用pycharm提交代碼時(shí)沖突之后文件丟失找回的方法 ,需要的朋友可以參考下
    2018-08-08
  • 使用Python實(shí)現(xiàn)表格字段智能去重

    使用Python實(shí)現(xiàn)表格字段智能去重

    在數(shù)據(jù)分析和處理過程中,數(shù)據(jù)清洗是一個(gè)至關(guān)重要的步驟,其中字段去重是一個(gè)常見且關(guān)鍵的任務(wù),下面我們看看如何使用Python進(jìn)行表格字段智能去重吧
    2025-03-03
  • Python Scrapy實(shí)戰(zhàn)之古詩文網(wǎng)的爬取

    Python Scrapy實(shí)戰(zhàn)之古詩文網(wǎng)的爬取

    本文將利用Python中Scrapy框架,實(shí)現(xiàn)爬取古詩文網(wǎng)上的詩詞數(shù)據(jù),具體包括詩詞的標(biāo)題信息。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-05-05
  • django 外鍵創(chuàng)建注意事項(xiàng)說明

    django 外鍵創(chuàng)建注意事項(xiàng)說明

    這篇文章主要介紹了django 外鍵創(chuàng)建注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python的jsonpath庫使用方法實(shí)例

    Python的jsonpath庫使用方法實(shí)例

    這篇文章主要介紹了Python的jsonpath庫使用方法實(shí)例,接口返回的jsonn數(shù)據(jù),需要取值后斷言,一般我們是使用jsonpath來提取接口返回的數(shù)據(jù) ,JsonPath是一種信息抽取類庫,是從JSON文檔中抽取指定信息的工具,,需要的朋友可以參考下
    2023-08-08
  • python的pstuil模塊使用方法總結(jié)

    python的pstuil模塊使用方法總結(jié)

    這篇文章主要介紹了python的pstuil模塊使用方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python解析、提取url關(guān)鍵字的實(shí)例詳解

    Python解析、提取url關(guān)鍵字的實(shí)例詳解

    今天小編就為大家分享一篇Python解析、提取url關(guān)鍵字的實(shí)例詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論