pyautogui重头戏 —— 区域找图

本节为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)

RBG值匹配

import pyautogui


# 单个像素点与给定像素匹配,给定像素点以Tuple的形式
print(pyautogui.pixelMatchesColor(100, 200, (41, 128, 185)))

# tolerance关键字参数,可在一定误差内进行匹配
print(pyautogui.pixelMatchesColor(100, 200, (25, 118, 199), tolerance=20))

# ps:可以做多点匹配,将坐标传入数组,然后循环比色即可

 

你可能感兴趣的:(python自动化,python)