av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

python實(shí)現(xiàn)按鍵精靈找色點(diǎn)擊功能教程,使用pywin32和Pillow庫

瀏覽:35日期:2022-07-22 18:40:04

Python圖片處理模塊PIL(pillow)

pywin32的主要作用

1.捕獲窗口;

2.模擬鼠標(biāo)鍵盤動(dòng)作;

3.自動(dòng)獲取某路徑下文件列表;

4.PIL截屏功能

找色點(diǎn)擊功能思路:

抓取當(dāng)前屏幕快照,指定一個(gè)坐標(biāo)和顏色,如果坐標(biāo)的顏色符合,則點(diǎn)擊坐標(biāo).

1.抓取當(dāng)前屏幕快照ImageGrab.grab()返回一個(gè)模式為“RGB”的圖像.

2.方法im.load()返回一個(gè)用于讀取和修改像素的像素訪問對象

3.用pywin32操作鼠標(biāo)鍵盤

王者榮耀自動(dòng)刷冒險(xiǎn)模式源碼送上

由于分辨率不同,要修改相應(yīng)坐標(biāo)和顏色才能正常在自己電腦上運(yùn)行

https://github.com/janyroo/pvpkey

import win32gui, win32api, win32con,timefrom win32api import GetSystemMetricsfrom PIL import ImageGrabdef PilImage(x,y): a, b = GetSystemMetrics(0), GetSystemMetrics(1) # Python獲取屏幕分辨率 im = ImageGrab.grab((0,0,a,b))#與坐標(biāo)不同,這里0,0,1,1是一個(gè)像素,而坐標(biāo)是從0~1919的 pix = im.load() return pix[x,y]def DisplaySize(): return GetSystemMetrics(0), GetSystemMetrics(1) # Python獲取屏幕分辨率def LeftClick(x, y): # 鼠標(biāo)左鍵點(diǎn)擊屏幕上的坐標(biāo)(x, y) win32api.SetCursorPos((x, y)) # 鼠標(biāo)定位到坐標(biāo)(x, y) # 注意:不同的屏幕分辨率會(huì)影響到鼠標(biāo)的定位,有需求的請用百分比換算 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0) # 鼠標(biāo)左鍵按下 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0) # 鼠標(biāo)左鍵彈起 # win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN + win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0) # 測試def PressOnce(x): # 模擬鍵盤輸入一個(gè)按鍵的值,鍵碼: x win32api.keybd_event(x, 0, 0, 0)’’’# 測試a, b = DisplaySize()print(a,b)LeftClick(30, 30) # 點(diǎn)擊PressOnce(13) # EnterPressOnce(9) # TABprint(PilImage(80,546))’’’# SetCursorPos’, ’No error message is available’ 用管理員身份運(yùn)行pycharmif __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經(jīng)驗(yàn),用時(shí)%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)

補(bǔ)充知識:python批量將文件夾下所有圖片中一種顏色改變?yōu)殡S機(jī)顏色

說在前面

需求:有時(shí)需要將圖片中的一種顏色更改為另一種顏色,ps可以幫助我們完成這項(xiàng)任務(wù),但是如果存在若干張圖片,ps就不能滿足我們的需要,則需要用python幫助我們快速解決。

源碼

# -*- coding: utf-8 -*-'''Created on Sun Aug 26 20:03:10 2018@author: Administrator'''from PIL import Imageimport random for n in range(1,4):#文件夾下圖片數(shù)量 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):#遍歷所有長度的點(diǎn) for j in range(0,height):#遍歷所有寬度的點(diǎn) data = img.getpixel((i,j))#i,j表示像素點(diǎn) if (data[0]==255 and data[1]==255 and data[2]==255): m = random.randint(160,190)#取160-190的顏色隨機(jī)值 print('m=',m) img.putpixel((i,j),(m,m,m))#顏色改變 img = img.convert('L')#把圖片轉(zhuǎn)成灰度圖 img.save('C:/Users/Administrator/Desktop/aa/'+str(n)+'.png')#保存修改像素點(diǎn)后的圖片

錯(cuò)誤注意

這里需要圖片是RGB模式的,不能是L灰度圖像,不然會(huì)出現(xiàn)如下錯(cuò)誤:

TypeError: ’int’ object is not subscriptable

https://stackoverflow.com/questions/8220702/error-int-object-is-not-subscriptable解釋了這個(gè)問題,但是主要原因可能在于圖片是灰度圖像,那么data數(shù)據(jù)為空,不能提取到RGB顏色值,程序報(bào)錯(cuò)。

隨機(jī)顏色

m = random.randint(160,190)#取160-190的顏色隨機(jī)值print('m=',m)img.putpixel((i,j),(m,m,m))#顏色改變

這里,是random設(shè)置隨機(jī)顏色值,在160-190之間變動(dòng),如果需要設(shè)定其他顏色值,可以改變動(dòng)范圍,或是將m設(shè)置成一個(gè)固定的常數(shù),那么代表固定的顏色值。

附:圖片黑白互換

對于二值圖,圖片中的黑白顏色可以通過python實(shí)現(xiàn)相互交換。

from PIL import Imageimport 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)) #反轉(zhuǎn) inverted_image = PIL.ImageOps.invert(image) #保存圖片 inverted_image.save(’C:/Users/Administrator/Desktop/bbb/’+str(i).zfill(6)+’.png’)

結(jié)果

python實(shí)現(xiàn)按鍵精靈找色點(diǎn)擊功能教程,使用pywin32和Pillow庫

以上這篇python實(shí)現(xiàn)按鍵精靈找色點(diǎn)擊功能教程,使用pywin32和Pillow庫就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
主站蜘蛛池模板: 久久久一二三区 | 一区二区在线 | 日韩快播电影网 | 成人乱人乱一区二区三区软件 | 久久久国产精品 | 日韩精品在线看 | 国产精品久久九九 | 国产91丝袜在线18 | 色欧美综合 | 日韩精品一区二区三区视频播放 | av香蕉 | 天堂av影院| 日韩午夜电影在线观看 | 国产亚洲精品a | 五月天综合网 | 中文字幕精品一区二区三区在线 | 成人免费视频网站在线观看 | 久久91av| 国产精品综合色区在线观看 | 日日夜夜狠狠操 | 国产精品国产成人国产三级 | 国产日韩精品一区 | 琪琪午夜伦伦电影福利片 | 亚洲欧美一区二区三区在线 | 中文在线播放 | 国产免费一区二区三区最新6 | 91精品国产91久久久久青草 | 亚洲一区久久 | 中文字幕久久精品 | 国产精品久久久久久久久久久久久 | 欧美va大片 | 日韩欧美在线视频 | 亚洲视频免费在线观看 | 99久久视频 | 国产精品中文字幕在线观看 | 日韩在线不卡 | 亚洲一区二区三区四区五区中文 | 久久一久久| 国产成人短视频在线观看 | 91综合在线视频 | 天天看天天爽 |