Pet*_*r.O 11 mouse colors command-line
是否有命令行工具仅根据其屏幕坐标返回像素的颜色值。
有这样的工具吗?
(另外:该工具不应该需要任何用户操作。它是在脚本中循环运行。)
hto*_*que 14
您可以使用程序grapc。它会将鼠标指针转向十字准线并返回所选颜色的 HTML 和 RGB 值。
sudo apt-get install grabc
Run Code Online (Sandbox Code Playgroud)
缺点:由于十字准线不够细,无法进行像素精确选择。
您还可以创建一个 python 脚本,例如:
#!/usr/bin/python -W ignore::DeprecationWarning
import sys
import gtk
def get_pixel_rgb(x, y):
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1)
pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(),
gtk.gdk.colormap_get_system(),
x, y, 0, 0, 1, 1)
return pixbuf.get_pixels_array()[0][0]
print get_pixel_rgb(int(sys.argv[1]), int(sys.argv[2]))
Run Code Online (Sandbox Code Playgroud)
使其可执行,并pixel_rgb="$(/path/to/script.py x y)"在您的 bash 脚本中运行。当然,您需要按照您需要的方式更改脚本,添加一些错误处理等。
PS:我不确定您是否可以对 DeprecationWarning 做任何事情,所以我在第一行将其关闭。
这有点笨拙,但您可以使用 xdotool 来实现这一点,它可以让您与鼠标交互,而grapc 可以从屏幕上单击的位置获取颜色。
sudo apt-get install xdotool grabc
Run Code Online (Sandbox Code Playgroud)
首先运行grapc但将其作为背景
grabc &
Run Code Online (Sandbox Code Playgroud)
然后使用 xdotool 执行鼠标单击
xdotool click 1
Run Code Online (Sandbox Code Playgroud)
点击将被grapc的光标和输出颜色的后台进程捕获。