Existe-t-il un outil en ligne de commande qui renvoie la valeur de couleur d'un pixel, basé uniquement sur ses coordonnées d'écran .
Existe-t-il un tel outil?
(Aussi: l'outil ne doit nécessiter aucune action de l'utilisateur. Il doit être exécuté en boucle dans un script.)
command-line
mouse
colors
Peter.O
la source
la source
Réponses:
Vous pouvez utiliser le programme grabc . Il tournera le pointeur de votre souris dans un réticule et renverra les valeurs HTML et RVB de la couleur sélectionnée.
Inconvénient: il n'est pas possible de faire des sélections exactes en pixels car le réticule n'est pas assez fin.
Vous pouvez également créer un script python, quelque chose comme:
rendez-le exécutable et exécutez-le
pixel_rgb="$(/path/to/script.py x y)"
dans votre script bash. Bien sûr, vous devez modifier le script comme vous en avez besoin, ajouter une gestion des erreurs, etc.PS: Je ne suis pas sûr que vous puissiez faire quoi que ce soit à propos de DeprecationWarning, donc je l'ai désactivé sur la première ligne.
la source
no module named numpy.core.multiarray; Segmentation fault
. Quelle partie dépend de ce module?C'est un peu maladroit, mais vous pouvez y parvenir avec xdotool qui vous permet d'interagir avec la souris et avec grabc qui obtient la couleur à partir d'un emplacement cliqué à l'écran.
Exécutez d'abord Grabc mais en arrière-plan
Ensuite, effectuez un clic de souris en utilisant xdotool
Le clic sera capturé par le curseur de grabc et le processus d'arrière-plan avec la sortie de la couleur.
la source
xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//'
va saisir les coords et les nettoyer jusqu'à des valeurs xy séparées par des espaces pour alimenter ce script.xdtool getmouselocation
... très gentil, merci ... l'utilité de sed ne cesse de m'étonner!Une solution différente, utilisant
xwd
etxdotool
:où
$X
et$Y
sont vos coordonnées.Dans le cadre de Xorg
xwd
devrait être préinstallé sur votre système.xdotool
peut être installé avec:Basé sur la réponse de @ Christian sur un Q&A StackOverflow et ce fil imagemagick.org .
la source
xwd
prend en charge la capture d'écran d'ID de fenêtre spécifiques, afin que vous puissiez interroger l'ID de fenêtre (par exemplexdotool search --name "$Win" | head -n1
), puis le transmettre àxwd
avecxwd -id "$WinID" -silent | ...
. Remarque: les coordonnées seraient relatives à la fenêtre dans ce cas.J'ai écrit un module python pour des opérations comme celle-ci, appelé Macropolo. Mais cela fait bien plus que simplement obtenir la couleur d'un pixel à l'écran.
Voici le post du forum où je l'ai partagé: http://ubuntuforums.org/showthread.php?t=2155281
Le module a de nombreuses fonctions qui vous permettent par exemple de compter la quantité de pixels qui ont une couleur spécifique dans une zone de l'écran, de rechercher des couleurs de pixels dans la zone, d'attendre qu'un pixel ou une zone de l'écran aient une couleur spécifique couleur, attendez la couleur des pixels et exécutez une autre fonction en attendant (par exemple, déplacez le curseur pour ne pas laisser l'écran s'éteindre pendant que vous attendez une couleur spécifique).
Mais, comme je l'ai dit, cela fait beaucoup plus de choses, comme la simulation des clics de souris et du clavier, la capture d'écran de la zone de l'écran et plus encore.
la source