溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信跳一跳python自動代碼解讀的示例分析

發(fā)布時間:2021-08-03 11:02:38 來源:億速云 閱讀:126 作者:小新 欄目:開發(fā)技術

小編給大家分享一下微信跳一跳python自動代碼解讀的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

微信跳一跳自動代碼,具體內(nèi)容如下

那個跳一跳python“外掛”,有幾個python文件,其中有一個是得到截圖,然后鼠標在圖片上點擊兩次,python窗口上會打印兩次鼠標的位置,并且會跟上一行這兩個點之間的距離。

微信跳一跳python自動代碼解讀的示例分析

這個功能我先給除去獲取截屏,就說怎么在某張圖片上算出兩次點擊的距離。

首先,需要用到圖形模塊,PIL:

from PIL import Image
img = Image.open('0.jpg')

然后用圖形繪制模塊matplotlib來給出一個plot對象:

import matplotlib.pyplot as plt
fig = plt.figure()

給這個對象加上剛剛打開圖片的標簽:

plt.imshow(img, animated = True)

然后用matplotlib的canvas.mpl_connect函數(shù),將我們點擊的動作和圖片連接起來,這個函數(shù)的第二個參數(shù)要我們自己的寫。

fig.canvas.mpl_connect('button_press_event', on_press)

在這個自定義的on_press函數(shù),我們要實現(xiàn)得到兩個點以后再算出距離。
那么我們就要有變量來儲存兩個點,臨時儲存點,來計算點擊了多少次,橫縱坐標
分別用全局變量cor=[0,0],coords=[], click_count=0,ix,iy

global ix,iy
 global click_count
 global cor

 ix,iy = event.xdata, event.ydata
 coords = []
 coords.append((ix,iy))
 print("now = ", coords)
 cor.append(coords)
 click_count += 1

先把點儲存在臨時的coords里面,打印出當前位置,然后將臨時的放入全局變量cor里面, 并且點擊次數(shù)+1.

 if click_count > 1:
  click_count = 0

  cor1 = cor.pop()
  cor2 = cor.pop()

  distance = (cor1[0][0] - cor2[0][0]) **2 + (cor1[0][1] - cor2[0][1]) **2
  distance = distance ** 0.5
  print("distance = ", distance)

當點擊次數(shù)大于1的時候,就說明已經(jīng)儲存了兩個點了。
這里用的棧pop()方法得到兩個點,分別放入cor1 和 cor2, 那么cor1 和 cor2 就是兩個點了。
接著計算出距離distance就行了。

完整代碼:

import numpy as np
from matplotlib.animation import FuncAnimation
import matplotlib.pyplot as plt
from PIL import Image
def on_press(event):
 global ix,iy
 global click_count
 global cor

 ix,iy = event.xdata, event.ydata
 coords = []
 coords.append((ix,iy))
 print("now = ", coords)
 cor.append(coords)

 click_count += 1
 if click_count > 1:
  click_count = 0

  cor1 = cor.pop()
  cor2 = cor.pop()

  distance = (cor1[0][0] - cor2[0][0]) **2 + (cor1[0][1] - cor2[0][1]) **2
  distance = distance ** 0.5
  print("distance = ", distance)

cor = [0,0]
click_count = 0
fig = plt.figure()
img = Image.open('0.jpg')
#updata = True

plt.imshow(img, animated= True)

fig.canvas.mpl_connect('button_press_event', on_press)
plt.show()

最終效果:

微信跳一跳python自動代碼解讀的示例分析

看完了這篇文章,相信你對“微信跳一跳python自動代碼解讀的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI