本节为Pyautogui最后一节了,之前已经介绍了pyautogui的键盘、鼠标、消息框的操作,以及实现。把重中之重的屏幕截屏功能,放在最后来显示功能之强大!
import pyautogui
pyautogui.screenshot('first_screenshot.png') # 截全屏
pyautogui.screenshot('Part.png',region=(0,0,300,400)) # 指定区域:从0,0开始截取X方向为300px,Y方向为400px的一张图
import pyautogui
# Part.png需事先准备好,并与代码放在同一目录下,confidence为精度(数值为0到1)
Part = pyautogui.locateOnScreen('Part.png', confidence=0.9) #
print(pyautogui.center(Part)) # 找图的中心点
# 找图还包括
# locateOnScreen(image): 返回屏幕上与image匹配的第一个实例点
# locateCenterOnScreen(image): 返回屏幕上与image匹配的第一个实例的中心点
# locateAllOnScreen(image): 返回generator
print(pyautogui.locateAllOnScreen('Part.png')) #
import pyautogui
# region:缩小查找区域,可提升找图速度
pyautogui.locateOnScreen('Part.png', region=(0, 0, 600, 800))
# grayscale=True: 灰度匹配,可提升找图速度
pyautogui.locateOnScreen('Part.png', grayscale=True)
# ps:可以将二种方法搭配一起使用
import pyautogui
# 取点:单个像素点颜色匹配,传入一个坐标返回该坐标的RGB值
# 方法一:实例化一个对象
im = pyautogui.screenshot()
print(type(im),im.getpixel((100,200))) # getpixel()传入一个元组类型的参数
# 方法二:获取指定x,y的RGB值
pix = pyautogui.pixel(100,200)
print(pix)
import pyautogui
# 单个像素点与给定像素匹配,给定像素点以Tuple的形式
print(pyautogui.pixelMatchesColor(100, 200, (41, 128, 185)))
# tolerance关键字参数,可在一定误差内进行匹配
print(pyautogui.pixelMatchesColor(100, 200, (25, 118, 199), tolerance=20))
# ps:可以做多点匹配,将坐标传入数组,然后循环比色即可