最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年06月04日 11:46:43   作者:簡尼  
這篇文章主要介紹了python實(shí)現(xiàn)按鍵精靈找色點(diǎn)擊功能教程,使用pywin32和Pillow庫,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

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è)用于讀取和修改像素的像素訪問對(duì)象

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

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

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

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))#與坐標(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)的定位,有需求的請(qǐng)用百分比換算
 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) # 測(cè)試

def PressOnce(x): # 模擬鍵盤輸入一個(gè)按鍵的值,鍵碼: x
 win32api.keybd_event(x, 0, 0, 0)
'''
# 測(cè)試
a, b = DisplaySize()
print(a,b)
LeftClick(30, 30) # 點(diǎn)擊
PressOnce(13) # Enter
PressOnce(9) # TAB
print(PilImage(80,546))
'''
# SetCursorPos', 'No error message is available' 用管理員身份運(yùn)行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經(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ǔ)充知識(shí):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 Image
import 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ù),那么代表固定的顏色值。

附:圖片黑白互換

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

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))
 #反轉(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庫就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • django執(zhí)行原始查詢sql,并返回Dict字典例子

    django執(zhí)行原始查詢sql,并返回Dict字典例子

    這篇文章主要介紹了django執(zhí)行原始查詢sql,并返回Dict字典例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python線性回歸實(shí)戰(zhàn)分析

    Python線性回歸實(shí)戰(zhàn)分析

    這篇文章主要介紹了Python線性回歸實(shí)戰(zhàn)分析以及代碼講解,對(duì)此有興趣的朋友學(xué)習(xí)下吧。
    2018-02-02
  • 關(guān)于AnacondaNavigator?Jupyter?Notebook更換Python內(nèi)核的問題

    關(guān)于AnacondaNavigator?Jupyter?Notebook更換Python內(nèi)核的問題

    因?yàn)樾掳惭b的Anaconda?Navigator默認(rèn)安裝了一個(gè)Python,Jupyter?Notebook默認(rèn)使用的內(nèi)核就是這個(gè)Python,跟我系統(tǒng)安裝好的Python沖突了,下面小編給大家介紹AnacondaNavigator?Jupyter?Notebook更換Python內(nèi)核的問題,需要的朋友可以參考下
    2022-02-02
  • python中終止協(xié)程和異常處理方式

    python中終止協(xié)程和異常處理方式

    這篇文章主要介紹了python中終止協(xié)程和異常處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python中生成隨機(jī)密碼的常用方法小結(jié)

    Python中生成隨機(jī)密碼的常用方法小結(jié)

    密碼是信息安全的基石,它用于保護(hù)我們的賬戶、數(shù)據(jù)和隱私,在本文中,將討論多種Python方法,用于生成隨機(jī)密碼的實(shí)用示例和技巧,感興趣的可以了解下
    2024-02-02
  • 給Python學(xué)習(xí)者的文件讀寫指南(含基礎(chǔ)與進(jìn)階)

    給Python學(xué)習(xí)者的文件讀寫指南(含基礎(chǔ)與進(jìn)階)

    今天,貓貓跟大家一起,好好學(xué)習(xí)Python文件讀寫的內(nèi)容,這部分內(nèi)容特別常用,掌握后對(duì)工作和實(shí)戰(zhàn)都大有益處,學(xué)習(xí)是循序漸進(jìn)的過程,欲速則不達(dá)
    2020-01-01
  • Python基礎(chǔ)第三方模塊requests openpyxl

    Python基礎(chǔ)第三方模塊requests openpyxl

    這篇文章主要為大家介紹了Python基礎(chǔ)第三方模塊requests openpyxl使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 關(guān)于Flask 上下文詳細(xì)介紹

    關(guān)于Flask 上下文詳細(xì)介紹

    這篇文章主要給大家分享了關(guān)于Flask 上下文詳細(xì)介紹,我們可以把上下文理解為當(dāng)前環(huán)境的快照,是一個(gè)用來保存狀態(tài)的對(duì)象。在代碼執(zhí)行的某個(gè)時(shí)刻,根據(jù)上下文的代碼邏輯,可以決定在當(dāng)前時(shí)刻下使用到的環(huán)境變量等。下面一起進(jìn)入文章了解詳情內(nèi)容,需要的朋友也可以參考一下
    2021-11-11
  • python和bash統(tǒng)計(jì)CPU利用率的方法

    python和bash統(tǒng)計(jì)CPU利用率的方法

    這篇文章主要介紹了python和bash統(tǒng)計(jì)CPU利用率的方法,涉及Python針對(duì)系統(tǒng)硬件信息的讀取技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 自定義Django Form中choicefield下拉菜單選取數(shù)據(jù)庫內(nèi)容實(shí)例

    自定義Django Form中choicefield下拉菜單選取數(shù)據(jù)庫內(nèi)容實(shí)例

    這篇文章主要介紹了自定義Django Form中choicefield下拉菜單選取數(shù)據(jù)庫內(nèi)容實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評(píng)論

博白县| 志丹县| 绍兴县| 花垣县| 太和县| 宜丰县| 屏山县| 鞍山市| 莱西市| 宁化县| 鹤壁市| 双柏县| 湛江市| 贵定县| 通城县| 韶山市| 石嘴山市| 定远县| 阿拉善盟| 桂阳县| 雷波县| 瑞安市| 巴南区| 兴和县| 太白县| 探索| 临汾市| 钟山县| 迁西县| 泗阳县| 怀化市| 雅安市| 德钦县| 博乐市| 康保县| 汤阴县| 贵南县| 巢湖市| 民县| 磐石市| 固始县|