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帮助我们快速解决。
源码
# -*- coding: utf-8 -*- """ Created on Sun Aug 26 20:03:10 2018 @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 = img.convert("RGB") width = img.size[0]#长度 height = img.size[1]#宽度 for i in range(0,width):#遍历所有长度的点 for j in range(0,height):#遍历所有宽度的点 data = img.getpixel((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 = img.convert("L")#把图片转成灰度图 img.save("C:/Users/Administrator/Desktop/aa/"+str(n)+".png")#保存修改像素点后的图片
错误注意
这里需要图片是RGB模式的,不能是L灰度图像,不然会出现如下错误:
TypeError: 'int' object is not subscriptable
https://stackoverflow.com/questions/8220702/error-int-object-is-not-subscriptable解释了这个问题,但是主要原因可能在于图片是灰度图像,那么data数据为空,不能提取到RGB颜色值,程序报错。
随机颜色
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 = image.resize((64,64)) #反转 inverted_image = PIL.ImageOps.invert(image) #保存图片 inverted_image.save('C:/Users/Administrator/Desktop/bbb/'+str(i).zfill(6)+'.png')
结果
以上这篇python实现按键精灵找色点击功能教程,使用pywin32和Pillow库就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
python,按键精灵,找色点击
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 伍佰.2002-冬之火九重天演唱会特选录音专辑2CD【滚石】【WAV+CUE】
- 李宗盛1996《李宗盛的凡人歌2CD》滚石[WAV+CUE][1G]
- 刘德华 《天意》1:1直刻黑胶LPCD[WAV+CUE][1.1G]
- 刘德丽2024《赤的疑惑HQCD》头版限量编号MQA[低速原抓WAV+CUE]
- 英雄联盟万圣节有什么皮肤返场 2024万圣节皮肤返场一览
- lol万圣节赠礼活动什么时候开始 2024万圣节活动时间介绍
- 2024全球总决赛blg是全华班吗 全球总决赛blg选手所属国家介绍
- 《LOL》S14半决赛:T1战胜GEN晋级决赛!对决BLG
- 《完蛋美女前传》白白演员抱怨:都没人玩我的线
- 玩家热议OLED屏对画面提升巨大:比PS5 Pro值得买
- PatriciaPaay-TheLadyIsAChamp(ExpandedEdition)(2024)[24Bit-96kHz]FLAC
- 尚士达.2024-莫回头【智慧小狗】【DTS-WAV分轨】
- 区瑞强-黄金时代HQCDII头版限量wav
- 孙露《终于等到你》[WAV分轨][488M]
- 张信哲《歌时代》 潮水音乐 [WAV+CUE]