2017-07-25 582 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() 
相关问题