Gibt es eine Kommandozeilen - Tool der Farbwert eines Pixels zurückkommt , beruht allein auf ihren Bildschirm-Koordinaten .
Gibt es so ein Werkzeug?
(Außerdem: Das Tool sollte keine Benutzeraktion erfordern. Es soll in einer Schleife in einem Skript ausgeführt werden.)
command-line
mouse
colors
Peter.O
quelle
quelle
Antworten:
Sie können das Programm grabc verwenden . Der Mauszeiger wird in einem Fadenkreuz gedreht und es werden HTML- und RGB-Werte der ausgewählten Farbe zurückgegeben.
Nachteil: Es ist nicht möglich, pixelgenaue Auswahlen vorzunehmen, da das Fadenkreuz nicht dünn genug ist.
Sie können auch ein Python-Skript erstellen, etwa:
Machen Sie es ausführbar und führen Sie es
pixel_rgb="$(/path/to/script.py x y)"
in Ihrem Bash-Skript aus. Natürlich müssen Sie das Skript so ändern, wie Sie es benötigen, eine Fehlerbehandlung hinzufügen und so weiter.PS: Ich bin mir nicht ganz sicher, ob Sie etwas gegen die DeprecationWarning unternehmen können, also habe ich sie in der ersten Zeile deaktiviert.
quelle
no module named numpy.core.multiarray; Segmentation fault
. Welcher Teil ist von diesem Modul abhängig?Dies ist etwas umständlich, aber Sie können dies mit xdotool erreichen, mit dem Sie mit der Maus interagieren können, und mit grabc, das die Farbe von einer Stelle erhält, auf die auf dem Bildschirm geklickt wird.
Führen Sie zuerst grabc aus, aber im Hintergrund
Führen Sie dann mit xdotool einen Mausklick durch
Der Klick wird vom Grabc-Cursor erfasst und der Hintergrundprozess mit der Ausgabe der Farbe.
quelle
xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//'
greift nach den Koordinaten und bereinigt sie auf durch Leerzeichen getrennte xy-Werte, um sie an dieses Skript weiterzuleiten.xdtool getmouselocation
... sehr nett, danke ... Sed's Nützlichkeit überrascht mich immer wieder!Eine andere Lösung mit
xwd
undxdotool
:wo
$X
und$Y
sind deine Koordinaten.Als Teil von Xorg
xwd
sollte auf Ihrem System vorinstalliert sein.xdotool
kann installiert werden mit:Basierend auf der Antwort von @ Christian auf eine Frage und Antwort zu StackOverflow und diesem Thread von imagemagick.org .
quelle
xwd
unterstützt das Erstellen von Screenshots bestimmter Fenster-IDs, sodass Sie die Fenster-ID (z. B.xdotool search --name "$Win" | head -n1
) abfragen und dann anxwd
mit übergeben könnenxwd -id "$WinID" -silent | ...
. Hinweis: In diesem Fall sind die Koordinaten relativ zum Fenster.Ich habe ein Python-Modul für solche Operationen namens Macropolo geschrieben. Aber es macht viel mehr als nur die Farbe eines Pixels auf dem Bildschirm.
Hier ist der Forumsbeitrag, in dem ich ihn geteilt habe: http://ubuntuforums.org/showthread.php?t=2155281
Das Modul verfügt über viele Funktionen, mit denen Sie beispielsweise die Anzahl der Pixel mit einer bestimmten Farbe in einem Bereich des Bildschirms zählen, nach Pixelfarben im Bereich suchen, auf ein Pixel warten oder ein Bereich des Bildschirms eine bestimmte Farbe haben kann Farbe, warten Sie auf die Pixelfarbe und führen Sie während des Wartens eine andere Funktion aus (z. B. bewegen Sie den Cursor, um den Bildschirm nicht auszuschalten, während Sie auf eine bestimmte Farbe warten).
Aber wie gesagt, es macht noch viel mehr Dinge, wie das Simulieren von Mausklicks und Tastaturen, das Aufnehmen von Screenshots des Bildschirmbereichs und vieles mehr.
quelle