首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有一个命令行工具,根据屏幕协调返回像素的颜色?

是否有一个命令行工具,根据屏幕协调返回像素的颜色?
EN

Ask Ubuntu用户
提问于 2010-12-08 09:48:48
回答 3查看 16.2K关注 0票数 12

是否有命令行工具返回像素的颜色值,完全基于其屏幕协调。

有这样的工具吗?

(另外:该工具不应要求任何用户操作。它是在脚本中的循环中运行。)

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2010-12-08 10:07:32

您可以使用程序地堑。它将在十字线中转动鼠标指针,并返回选定颜色的HTML和RGB值。

代码语言:javascript
运行
复制
sudo apt-get install grabc

缺点:由于交叉头发不够薄,不可能做像素精确的选择。

您还可以创建python脚本,如下所示:

代码语言:javascript
运行
复制
#!/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]))

使其可执行,并在bash脚本中运行pixel_rgb="$(/path/to/script.py x y)"。当然,您需要按照需要的方式修改脚本,添加一些错误处理等等。

PS:我不太确定你能不能对DeprecationWarning做点什么,所以我在第一行就关掉了它。

票数 15
EN

Ask Ubuntu用户

发布于 2010-12-08 10:17:47

这有点排他性,但您可以使用xdotool (它允许您与鼠标交互)和grabc (从屏幕上单击的位置获取颜色)来实现这一点。

代码语言:javascript
运行
复制
sudo apt-get install xdotool grabc

首先运行grabc,但是后台运行它

代码语言:javascript
运行
复制
grabc &

然后使用xdotool执行mouseclick。

代码语言:javascript
运行
复制
xdotool click 1

单击将被grabc的光标和背景进程捕获,并输出颜色。

票数 7
EN

Ask Ubuntu用户

发布于 2013-10-07 15:00:37

我已经为这样的操作编写了一个python模块,称为Macropolo。但是,它所做的不仅仅是简单地在屏幕上获得像素的颜色。

这是我分享过的论坛帖子:http://ubuntuforums.org/showthread.php?t=2155281

该模块具有许多功能,允许您例如计算屏幕区域中具有特定颜色的像素数量,搜索区域中的像素颜色(S),等待像素或屏幕区域具有特定颜色,等待像素颜色,并在等待时运行其他功能(例如,移动光标以在等待特定颜色时不让屏幕关闭)。

但是,就像我说的,它做了更多的事情,比如模拟鼠标点击和键盘,屏幕区域的截图等等。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/16620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档