亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

對(duì)Python獲取屏幕截圖的4種方法詳解

 更新時(shí)間:2019年08月27日 15:33:08   作者:巽二  
今天小編就為大家分享一篇對(duì)Python獲取屏幕截圖的4種方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

Python獲取電腦截圖有多種方式,具體如下:

PIL中的ImageGrab模塊

windows API

PyQt

pyautogui

PIL中的ImageGrab模塊

import time
import numpy as np
from PIL import ImageGrab

img = ImageGrab.grab(bbox=(100, 161, 1141, 610))
img = np.array(img.getdata(), np.uint8).reshape(img.size[1], img.size[0], 3)

使用PIL中的ImageGrab模塊簡(jiǎn)單,但是效率有點(diǎn)低,截屏一次需0.5s。

windows API

調(diào)用windows API,速度快但是使用較復(fù)雜,這里就不做詳細(xì)介紹了,因?yàn)橛懈糜玫腜yQt。

PyQt

PyQt比調(diào)用windows API簡(jiǎn)單很多,而且有windows API的很多優(yōu)勢(shì),比如速度快,可以指定獲取的窗口,即使窗口被遮擋。需注意的是,窗口最小化時(shí)無(wú)法獲取截圖。

首先需要獲取窗口的句柄。

import win32gui
hwnd_title = dict()
def get_all_hwnd(hwnd,mouse):
  if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
    hwnd_title.update({hwnd:win32gui.GetWindowText(hwnd)})

win32gui.EnumWindows(get_all_hwnd, 0)
 
for h,t in hwnd_title.items():
  if t is not "":
    print(h, t)

程序會(huì)打印窗口的hwnd和title,有了title就可以進(jìn)行截圖了。

  from PyQt5.QtWidgets import QApplication
  from PyQt5.QtGui import *
  import win32gui
  import sys

  hwnd = win32gui.FindWindow(None, 'C:\Windows\system32\cmd.exe')
  app = QApplication(sys.argv)
  screen = QApplication.primaryScreen()
  img = screen.grabWindow(hwnd).toImage()
  img.save("screenshot.jpg")

pyautogui

pyautogui是比較簡(jiǎn)單的,但是不能指定獲取程序的窗口,因此窗口也不能遮擋,不過(guò)可以指定截屏的位置,0.04s一張截圖,比PyQt稍慢一點(diǎn),但也很快了。

import pyautogui
import cv2

img = pyautogui.screenshot(region=[0,0,100,100]) # x,y,w,h
# img.save('screenshot.png')
img = cv2.cvtColor(np.asarray(img),cv2.COLOR_RGB2BGR)

以上這篇對(duì)Python獲取屏幕截圖的4種方法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python face_recognition實(shí)現(xiàn)AI識(shí)別圖片中的人物

    Python face_recognition實(shí)現(xiàn)AI識(shí)別圖片中的人物

    最近碰到了照片識(shí)別的場(chǎng)景,正好使用了face_recognition項(xiàng)目,給大家分享分享。face_recognition項(xiàng)目能做的很多,人臉檢測(cè)功能也是有的,是一個(gè)比較成熟的項(xiàng)目。感興趣的可以了解一下
    2022-01-01
  • pytest官方文檔解讀fixtures的調(diào)用方式

    pytest官方文檔解讀fixtures的調(diào)用方式

    這篇文章主要為大家介紹了pytest官方文檔解讀fixtures的調(diào)用方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python requests庫(kù)輕松發(fā)送HTTP請(qǐng)求的終極指南

    Python requests庫(kù)輕松發(fā)送HTTP請(qǐng)求的終極指南

    在現(xiàn)代網(wǎng)絡(luò)編程中,HTTP請(qǐng)求是與Web服務(wù)交互的基礎(chǔ),本文將全面介紹requests庫(kù)的使用方法,從基礎(chǔ)請(qǐng)求到高級(jí)技巧,幫助你掌握網(wǎng)絡(luò)數(shù)據(jù)交互的核心技能
    2025-08-08
  • Python爬蟲(chóng)之pandas基本安裝與使用方法示例

    Python爬蟲(chóng)之pandas基本安裝與使用方法示例

    這篇文章主要介紹了Python爬蟲(chóng)之pandas基本安裝與使用方法,結(jié)合實(shí)例形式分析了Python爬蟲(chóng)操作中pandas的pip命令安裝與HTML、Excel等格式文件保存相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • Pytorch運(yùn)行過(guò)程中解決出現(xiàn)內(nèi)存不足的問(wèn)題

    Pytorch運(yùn)行過(guò)程中解決出現(xiàn)內(nèi)存不足的問(wèn)題

    內(nèi)存不足是很多人感到頭疼的問(wèn)題,本文主要介紹了Pytorch運(yùn)行過(guò)程中解決出現(xiàn)內(nèi)存不足的問(wèn)題,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • 使用Python實(shí)現(xiàn)企業(yè)微信的自動(dòng)打卡功能

    使用Python實(shí)現(xiàn)企業(yè)微信的自動(dòng)打卡功能

    下面就通過(guò)Python程序來(lái)實(shí)現(xiàn)自動(dòng)打卡,原理很簡(jiǎn)單,用Python設(shè)置定時(shí)任務(wù),然后通過(guò)adb操作手機(jī),完成打卡功能,感興趣的朋友跟隨小編一起看看吧
    2019-04-04
  • Python構(gòu)建高效文件管理器的完整指南

    Python構(gòu)建高效文件管理器的完整指南

    在日常工作中,我們經(jīng)常需要處理大量的壓縮文件,將它們按類別整理到不同的文件夾中,下面我們就來(lái)使用Python構(gòu)建一個(gè)功能完整的文件管理器吧
    2025-07-07
  • Python提取Pdf文件內(nèi)容的操作方法(表格、文本、圖片)

    Python提取Pdf文件內(nèi)容的操作方法(表格、文本、圖片)

    本文主要介紹了Python提取PDF內(nèi)容的方法(文本、圖像、表格),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • python實(shí)現(xiàn)樹(shù)的深度優(yōu)先遍歷與廣度優(yōu)先遍歷詳解

    python實(shí)現(xiàn)樹(shù)的深度優(yōu)先遍歷與廣度優(yōu)先遍歷詳解

    這篇文章主要介紹了python實(shí)現(xiàn)樹(shù)的深度優(yōu)先遍歷與廣度優(yōu)先遍歷,詳細(xì)分析了樹(shù)的深度優(yōu)先遍歷與廣度優(yōu)先遍歷原理及Python相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-10-10
  • Python中使用PyMySQL模塊的方法詳解

    Python中使用PyMySQL模塊的方法詳解

    Python中的pymysql模塊是用于連接MySQL數(shù)據(jù)庫(kù)的一個(gè)第三方庫(kù),它提供了一套API,使得Python程序員能夠方便地執(zhí)行SQL語(yǔ)句、操作數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python中使用PyMySQL模塊的相關(guān)資料,需要的朋友可以參考下
    2024-08-08

最新評(píng)論