python实现按键精灵⾊点击功能教程,使⽤pywin32和
Pillow库
Python图⽚处理模块PIL(pillow)
pywin32的主要作⽤
1.捕获窗⼝;
2.模拟⿏标键盘动作;
3.⾃动获取某路径下⽂件列表;
4.PIL截屏功能
⾊点击功能思路:
抓取当前屏幕快照,指定⼀个坐标和颜⾊,如果坐标的颜⾊符合,则点击坐标.
1.抓取当前屏幕快照ab()返回⼀个模式为“RGB”的图像.
2.⽅法im.load()返回⼀个⽤于读取和修改像素的像素访问对象
3.⽤pywin32操作⿏标键盘
王者荣耀⾃动刷冒险模式源码送上:
由于分辨率不同,要修改相应坐标和颜⾊才能正常在⾃⼰电脑上运⾏
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 = ab((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)
# 注意:不同的屏幕分辨率会影响到⿏标的定位,有需求的请⽤百分⽐换算
# use_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)
ascii编码昵称print(PilImage(875, 573))
print(PilImage(908,323))
print(PilImage(1050, 635))
c语言中 p是什么意思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))c语言中double的用法举例
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帮助我们快速解决。
源码
# -*- coding: utf-8 -*-
"""
Created on Sun Aug 26 20:03:10 2018
python入门教程(非常详细)书@author: Administrator
"""
from PIL import Image
import random
for n in range(1,4):#⽂件夹下图⽚数量
i = 1
j = 1
img = Image.open("C:/Users/Administrator/Desktop/aa/"+str(n)+".png")#读取图⽚
img = vert("RGB")
width = img.size[0]#长度
height = img.size[1]#宽度
for i in range(0,width):#遍历所有长度的点
for j in range(0,height):#遍历所有宽度的点
data = pixel((i,j))#i,j表⽰像素点
if (data[0]==255 and data[1]==255 and data[2]==255):
m = random.randint(160,190)#取160-190的颜⾊随机值
print("m=",m)
img.putpixel((i,j),(m,m,m))#颜⾊改变
img = vert("L")#把图⽚转成灰度图
img.save("C:/Users/Administrator/Desktop/aa/"+str(n)+".png")#保存修改像素点后的图⽚
错误注意
这⾥需要图⽚是RGB模式的,不能是L灰度图像,不然会出现如下错误:
TypeError: 'int' object is not subscriptable
随机颜⾊
m = random.randint(160,190)#取160-190的颜⾊随机值
print("m=",m)
img.putpixel((i,j),(m,m,m))#颜⾊改变
这⾥,是random设置随机颜⾊值,在160-190之间变动,如果需要设定其他颜⾊值,可以改变动范围,或是将m设置成⼀个固定的常数,那么代表固定的颜⾊值。
附:图⽚⿊⽩互换
对于⼆值图,图⽚中的⿊⽩颜⾊可以通过python实现相互交换。
from PIL import Image
import PIL.ImageOps
for i in range(1,37551):
#读⼊图⽚
image = Image.open('C:/Users/Administrator/Desktop/bbb/'+str(i).zfill(6)+'.png')
#image = size((64,64))
#反转
inverted_image = PIL.ImageOps.invert(image)
#保存图⽚mysql求用户名的命令是什么
inverted_image.save('C:/Users/Administrator/Desktop/bbb/'+str(i).zfill(6)+'.png')
结果
以上这篇python实现按键精灵⾊点击功能教程,使⽤pywin32和Pillow库就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论