python点击屏幕_python实现按键精灵找色点击功能教程,使用pywin32和Pillow库

Python图片处理模块PIL(pillow)

pywin32的主要作用

1.捕获窗口;

2.模拟鼠标键盘动作;

3.自动获取某路径下文件列表;

4.PIL截屏功能

找色点击功能思路:

抓取当前屏幕快照,指定一个坐标和颜色,如果坐标的颜色符合,则点击坐标.

1.抓取当前屏幕快照ImageGrab.grab()返回一个模式为“RGB”的图像.

2.方法im.load()返回一个用于读取和修改像素的像素访问对象

3.用pywin32操作鼠标键盘

王者荣耀自动刷冒险模式源码送上:

由于分辨率不同,要修改相应坐标和颜色才能正常在自己电脑上运行

https://github.com/janyroo/pvpkey

import win32gui, win32api, win32con,time

from win32api import GetSystemMetrics

from PIL import ImageGrab

def PilImage(x,y):

a, b = GetSystemMetrics(0), GetSystemMetrics(1) # Python获取屏幕分辨率

im = ImageGrab.grab((0,0,a,b))#与坐标不同,这里0,0,1,1是一个像素,而坐标是从0~1919的

pix = im.load()

return pix[x,y]

def DisplaySize():

return GetSystemMetrics(0), GetSystemMetrics(1) # Python获取屏幕分辨率

def LeftClick(x, y): # 鼠标左键点击屏幕上的坐标(x, y)

win32api.SetCursorPos((x, y)) # 鼠标定位到坐标(x, y)

# 注意:不同的屏幕分辨率会影响到鼠标的定位,有需求的请用百分比换算

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0) # 鼠标左键按下

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0) # 鼠标左键弹起

# win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN + win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0) # 测试

def PressOnce(x): # 模拟键盘输入一个按键的值,键码: x

win32api.keybd_event(x, 0, 0, 0)

'''

# 测试

a, b = DisplaySize()

print(a,b)

LeftClick(30, 30) # 点击

PressOnce(13) # Enter

PressOnce(9) # TAB

print(PilImage(80,546))

'''

# SetCursorPos', 'No error message is available' 用管理员身份运行pycharm

if __name__=="__main__":

jisu=0

ltime=0

ntime=0

time.sleep(5)

print(PilImage(875, 573))

print(PilImage(908,323))

print(PilImage(1050, 635))

print(PilImage(914,486))

while 1:

if PilImage(875, 573)==(220, 154, 39):

LeftClick(875, 573)

jisu += 1

ntime = time.time()-ltime

ltime = time.time()

print("刷了第%d次,获得%d经验,用时%d秒" % (jisu,jisu*82,ntime))

elif PilImage(908,323)==(26, 35, 101):

LeftClick(908,323)

elif PilImage(1050,635)==(216, 125, 26):

LeftClick(1050,635)

elif PilImage(1061,138)==(48, 131, 205):

LeftClick(1061,145)

elif PilImage(1061,138)==(46, 125, 197):

LeftClick(1061,145)

elif PilImage(914,486)==(196,39,80):

LeftClick(914,486)

else:

pass

time.sleep(5)

补充知识:python批量将文件夹下所有图片中一种颜色改变为随机颜色

说在前面

需求:有时需要将图片中的一种颜色更改为另一种颜色,ps可以帮助我们完成这项任务,但是如果存在若干张图片,ps就不能满足我们的需要,则需要用python帮助我们快速解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值