Jump to content

Veränderung der Koordinaten durch unterschiedliche Auflösungen?


Recommended Posts

Hallo,
ich will mir, nach wie vor, in Java ein Programm schreiben, das mittels der Java Klasse "Robot" die Farbe bestimmter Pixel abliest sowie Mausklicks an bestimmten Stellen durchführt.

Nun habe ich so das generelle Problem dass ich aktuell die relelvanten Pixelkoordinaten abgelesen habe auf meinem heimischen System, das auf Auflösung 1920x1080 und Skalierungsfaktor 1.25 eingestellt ist.

Wenn ich nun das Programm aber auf einen anderen Computer nutzen wollen würde, wo Auflösung und Skalierung anders sind,
müsste ich im Worst Case alle relelvanten Pixel neu suchen und ablesen, was keinen Spaß macht.

Daher bin ich auf der recht verzweifelten Suche nach einer Umrechnungsmethode vom Einen ins andere System.

Was ich bisher schon mal weiß:
Die Pixelhöhe und Breite, mit der die Robotklasse den Bildschirm vermisst, und die ich ab sofort die "virtuelle Auflösung" nenne, ist
die reale Auflösung geteilt durch Skalierung.
Also wenn wie oben Realauflösung 1920x1080 und Skalierung 125%=1.25,
dann ist laut Robot der Bildschirm dann 1920/1.25 Pixel breit und 1080/1.25 Pixel hoch.

Also den Zusammenhang zwischen Auflösung, Skalierung und virtueller Auflösung kenne ich aus Experimenten.

Nur wie es jetzt aussieht wenn sich rein die reale Auflösung ändert, wie sich das auf Koordinaten auswirkt, ist mir noch nicht klar.
Ich habe natürlich auch versuche gemacht, weil ich annahm dass sich die Koordinatenvektoren im Verhätnis von alter zu neuer Auflösung strecken oder stauchen.
Aber entweder habe ich nicht genau genug gemessen oder es ist kein linearer Zusammenhang da da keine gleichen verhältnisse rauskommen.
Ähnliche, aber nicht gleich. Der Unterschied ist aber so groß dass es hier Fehler von 10 Pixeln und mehr rauskämen was nicht akzeptabel ist.

Daher die Frage:
Kennt sich hier Jemand aus wie Koordinaten transformiert werden wenn sich die Auflösung ändert?

Falls wichtig zu wissen:
Es geht letztlich darum dass ich in Chrome eine bestimmte Rouletteseite und dort deren Roulettetisch aufrufe und durch Pixelfarbsuche und so die zuletzt gezogene Farbe ablesen will sowie auch durch vorgegebene Pixelpositionen auf bestimmte Buttons und so klicken will.



 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie ist deine Meinung dazu?

Du kannst jetzt schreiben und dich später registrieren. Bereits registrierter Teilnehmer? Dann melde dich jetzt an, um einen Kommentar zu schreiben.
Hinweis: Dein Beitrag wird nicht sofort sichtbar sein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Neu erstellen...