Startseite › Foren › Deutsches LiveCode-Forum › mouseColor, Alle Farben eines bildschirmausschnitt ermitteln
Schlagwörter: Farbe eines Bildschirmausschnitts ermitteln, mouseColor
- Dieses Thema hat 6 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 4 Jahren von Klaus Major.
-
AutorBeiträge
-
-
November 28, 2020 um 23:45 Uhr #24776
Hallo zusammen,
Ich habe ein Riesenproblem mit dem Befehl mouseColor, der essentiell für meine App ist. Die Aufgabe besteht darin, den Stack auf einer ganz bestimmten Stelle des Bildschirms Nähe ref_x,ref_y zu positionieren und diese Positionierung mit dem mouseColor-Befehl zu verifizieren, indem der Nahbereich um die aktuell gewählte Position mit dem mouseColor-Befehl auf die Existenz einer Pilotfarbe (z.B. rot) abgetastet wird. Hierzu habe ich folgende Codeschleife geschrieben, die einen Bildschirmausschnitt von 5 x 5 Pixeln abtastet.
`put 0 into h
put empty into farben
repeat until h=25
put ref_x + h Mod 5 into ref_x
put ref_y + trunc ((h+ 1)/5) into ref_y
set the screenMouseLoc to ref_x, ref_y
put the mouseColor& “ “ after farben
put h +1 into h
end repeat
answer farbenLeider liefert mir dieser Code nur sporadisch Farbwerte, das heißt, etwa 23 der 25 Werte lauten 0, 0, 0. Habe ich einen Fehler im Code oder ist der mouseColor-Befehl fehlerhaft? Gibt es vielleicht eine Alternative? Ich habe bereits alle möglichen Varianten auch mit wait-Befehlen durchprobiert, komme aber zu keinem Ergebnis. Wäre für jede Idee zu meinem Problem sehr dankbar eurerseits sehr dankbar!
Peter -
November 29, 2020 um 04:42 Uhr #24780
Hi Peter,
hm, ich habe Dein (exaktes) Skript mal ausprobiert und läuft wie gewünscht!?
Ich habe ein Bild im Hintergrund geöffnet und mir eine Stelle rausgesucht.
Ob die Farben genau stimmen, habe ich nicht überprüft, aber kein 0,0,0 dabei,
was korrekt ist.Mein Ergebnis mit 222 = ref_x, 333 = ref_y:
——————————————–
0,67,102
0,68,103
1,105,132
20,119,148
46,82,100
21,54,71
176,182,194
55,29,28
98,78,77
178,150,128
187,131,110
187,140,114
175,137,114
184,139,120
169,121,106
175,128,108
184,142,120
183,141,119
139,146,154
156,138,134
189,151,128
202,166,144
178,143,124
169,135,119
121,85,73 -
Dezember 2, 2020 um 13:42 Uhr #24876
Hallo Klaus, zunächst einmal vielen Dank, dass du meine Prozedur überprüft hast. Ich war auch der Meinung, dass sie so funktionieren müsste. Da er bei dir funktioniert hat, dachte ich, dass es am Betriebssystem liegen müsste! Es hat sich aber herausgestellt, dass auf einem zweiten, schnelleren Windows-Rechner die Prozedur fehlerfrei läuft. Dieser läuft allerdings genauso mit Windows 10 64-bit…… Möglicherweise macht es einen Unterschied, ob die Prozedur wie bei mir in der Praxis von einem Splashstack nachgeladen wird oder zuhause direkt in der Entwicklungsumgebung getestet wird…..
Peter -
Dezember 2, 2020 um 13:46 Uhr #24877
Hallo Peter,
das ist durchaus möglich.
Tja, Softwareentwicklung, eins der letzten großen Abenteuer der Menschheit. 😎Gruß
Klaus
-
Dezember 2, 2020 um 14:39 Uhr #24879
So ist es!
(Einfach kann Jeder….) -
Dezember 3, 2020 um 15:29 Uhr #24909
Idee:
Einfach einen Screenshot des zu untersuchenden Monitorabschnittes importieren
und die Mausfarbe innerhalb von LC eruieren.Wer weiß, vielleicht klappt das ja besser, Versuch macht kluch! 🙂
-
Dezember 3, 2020 um 19:14 Uhr #24911
Oder besser, einen Screenshot des 5*5 Pixel Bereichs erstellen und davon
„the imagedata“ auswerten!Sollte wesentlich akkurater als „mousecolor“ sein.Hier ein Beitrag dazu vom letzten Jahr von Torsten:
https://www.livecode-blog.de/forums/topic/farbe-eines-pixels-feststellen/
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.