2017-07-25 106 views
0

我有一個python腳本,可以在我的工作計算機上完美運行(1600 x 900分辨率)。在這臺電腦上,我拍下了pyautogui.locateOnScreen使用的所有屏幕截圖。我嘗試在家用筆記本電腦上以不同的分辨率(1340 x 640)運行此程序,腳本似乎無法找到圖像位置。我猜測這是因爲不同的解決方案。 (我已經將我的工作計算機上的腳本文件夾複製到家用電腦,因此圖像文件的路徑完全相同)。有什麼我可以在我的腳本中更改,以便pyautogui.locateOnScreen能夠識別任何計算機分辨率上的圖像?在不同分辨率的計算機上運行Pyautogui

+0

感謝您的回答。我也在按照這些思路思考,但這仍然限制了我拍攝圖像的兩臺電腦。我希望有一個解決方案,將腳本cAn移植到任何機器上,並自動確定解決方案,並以某種方式將一個因素應用於......(聽起來很愚蠢)。我認爲我的最佳選擇將是一個不同的腳本,它會截取屏幕的特定區域並將它們保存爲第一個腳本所需的圖像。 – Ngula

回答

0

我認爲你需要截取不同分辨率的圖像截圖,並在程序開始時檢測它是在1600x900屏幕還是在1340x640屏幕上。然後讓所有'locateOnScreen'部分取一個變量,並根據屏幕大小,將這些變量替換爲正確圖像的路徑。

import pyautogui 

def function(): 
    pyautogui.locateOnScreen(x) 
    ... 
    pyautogui.locateOnScreen(y) 
    ... 

screen = pyautogui.size() 
if screen = (1600, 900): 
    x = 'image1_1600_900.png' 
    y = 'image2_1600_900.png' 
else: 
    x = 'image1_1340_640.png' 
    y = 'image2_1340_640.png' 

function()