2017-07-25 4 views
0

Ich habe ein Python-Skript, das perfekt auf meinem Arbeitscomputer (1600 x 900 Auflösung) ausgeführt wird. Auf diesem Computer habe ich alle Screenshot-Bilder von pyautogui.locateOnScreen aufgenommen. Ich habe versucht, dieses Programm auf meinem Home-Laptop mit einer anderen Auflösung (1340 x 640) zu starten und das Skript scheint nicht den Bildstandort zu finden. Ich vermute, dass es wegen der unterschiedlichen Auflösung ist. (Ich habe den Skriptordner von meinem Arbeitscomputer auf den Heimcomputer kopiert, so dass der Pfad zur Bilddatei genau gleich ist). Kann ich irgendetwas in meinem Skript ändern, so dass pyautogui.locateOnScreen das Bild bei jeder Computerauflösung identifizieren würde?Ausführen von Pyautogui auf einem anderen Computer mit unterschiedlicher Auflösung

+0

Danke für diese Antwort. Ich dachte auch in diese Richtung, aber das würde mich immer noch auf die zwei Computer beschränken, von denen das Bild gemacht wurde. Ich habe auf eine Lösung gehofft, in der das Skript auf jede Maschine portiert werden kann, und es automatisch die Auflösung bestimmt und irgendwie einen Faktor auf ... anwendet (angefangen, albern zu klingen). Ich denke, meine beste Option wäre ein anderes Skript, das Screenshots von bestimmten Regionen des Bildschirms erstellt und sie als Bilder speichert, die für das erste Skript erforderlich sind. – Ngula

Antwort

0

Ich denke, Sie müssen einen Screenshot des Bildes auf die unterschiedliche Auflösung machen, und am Anfang Ihres Programms muss es erkennen, ob es auf dem 1600x900 Bildschirm oder dem 1340x640 Bildschirm ist. Stellen Sie dann alle 'locateOnScreen'-Teile auf eine Variable, und ersetzen Sie diese Variablen abhängig von der Bildschirmgröße durch den Pfad zum richtigen Bild.

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() 
Verwandte Themen