在Python中实现截图功能,你可以使用不同的库,以下是几个常用的方法:
使用Pillow库
from PIL import ImageGrab
import time
while True:
img = ImageGrab.grab() 获取屏幕截图
img.show() 显示截图
time.sleep(1/60) 等待1/60秒
使用OpenCV库
import cv2
import numpy as np
import time
while True:
img = np.array(ImageGrab.grab(bbox=(0,0,1920,1080))) 获取屏幕截图
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 将图像从BGR转换为RGB
cv2.imshow('Screen', img) 显示截图
cv2.waitKey(16) 等待16毫秒
使用Pyautogui库
import pyautogui
demo_image = pyautogui.screenshot() 获取屏幕截图
demo_image.save('demo_one.jpg') 保存截图
使用tkinter和pyautogui结合
import tkinter as tk
import pyautogui
from PIL import ImageGrab
from time import sleep
root = tk.Tk()
root.overrideredirect(True) 隐藏窗口的标题栏
root.attributes('-alpha', 0.1) 设置窗口透明度为10%
root.geometry('{0}x{1}+0+0'.format(root.winfo_screenwidth(), root.winfo_screenheight())) 设置窗口大小与屏幕一致
root.configure(bg='black') 设置窗口背景色为黑色
def take_screenshot():
img = pyautogui.screenshot()
img.save('screenshot.png') 保存截图
btn_screenshot = tk.Button(root, text="截图", command=take_screenshot)
btn_screenshot.pack()
root.mainloop() 运行主循环
以上代码展示了如何使用不同的Python库进行屏幕截图。你可以根据自己的需求选择合适的库进行操作。需要注意的是,截图功能可能需要管理员权限才能正常工作。