T
TobiNeu
Hi,
ich habe folgendes Problem:
- Ich muss ein Fenster mit variabler Größe in einem Screenshot/Desktop finden.
- Obere Menüleiste und untere Leiste haben IMMER die selbe Breite.
- Das Icon im oberen linken Eck ist immer identisch
- Das Programm sollte später eventuell erweiterbar sein um mehrere Fenster zu erkennen.
(Das würde ich eventuell dann so lösen das ich sowas einbaue wie : suche Icon solange IconPos != Pos_der_bisher_gefundenen_Instanzen)
Bisher habe ich es so versucht, dass ich ein screenshot mache und das Icon (linkes obere eck des fensters) mit dem screenshot vergleicht:
findIcon(img1, img2, distance) {
//...
}
Der Funktion übergebe ich das Icon, den Screenshot und eine distance (max Abweichung)
nun vergleich ich den ersten pixel von dem icon mit dem ersten pixel des screenshot und überprüfe ob die summe der abweichung < distance ist
Verwendet tu ich die getRGB(int.int) Methode.
Das funktioniert so auch, doch leider ist die Funktion so lahm.
Dauert bis zu 2 Minuten. Und das ist ja nur die obere linke Position ...
Ich habe aber ein max Zeitfenster von 30 Sekunden.
Jemand ne Idee wie ich das optimieren kann oder einen Tipp einer schnelleren Funktion, Lib ?
Es muss nicht zwingend mit Hilfe eines Screenshot gelöst werden. Falls es andere schnellere Wege gibt ist das auch ok
Vielen Dank
ich habe folgendes Problem:
- Ich muss ein Fenster mit variabler Größe in einem Screenshot/Desktop finden.
- Obere Menüleiste und untere Leiste haben IMMER die selbe Breite.
- Das Icon im oberen linken Eck ist immer identisch
- Das Programm sollte später eventuell erweiterbar sein um mehrere Fenster zu erkennen.
(Das würde ich eventuell dann so lösen das ich sowas einbaue wie : suche Icon solange IconPos != Pos_der_bisher_gefundenen_Instanzen)
Bisher habe ich es so versucht, dass ich ein screenshot mache und das Icon (linkes obere eck des fensters) mit dem screenshot vergleicht:
findIcon(img1, img2, distance) {
//...
}
Der Funktion übergebe ich das Icon, den Screenshot und eine distance (max Abweichung)
nun vergleich ich den ersten pixel von dem icon mit dem ersten pixel des screenshot und überprüfe ob die summe der abweichung < distance ist
Verwendet tu ich die getRGB(int.int) Methode.
Das funktioniert so auch, doch leider ist die Funktion so lahm.
Dauert bis zu 2 Minuten. Und das ist ja nur die obere linke Position ...
Ich habe aber ein max Zeitfenster von 30 Sekunden.
Jemand ne Idee wie ich das optimieren kann oder einen Tipp einer schnelleren Funktion, Lib ?
Es muss nicht zwingend mit Hilfe eines Screenshot gelöst werden. Falls es andere schnellere Wege gibt ist das auch ok
Vielen Dank