如何从屏幕获取像素值(GTK 3,Shell,Linux)

How to get the value of a pixel from the screen (GTK 3, Shell, Linux)

我正尝试在 Linux 上进行一些自动化操作,但在给定 2 个坐标的情况下,我找不到从屏幕获取像素值的好方法。

我有这个 python 代码:

#!/usr/bin/env python3
import pyautogui
import sys

image = pyautogui.screenshot()
print(str(image.getpixel((int(sys.argv[1]), int(sys.argv[2])))))

如何不截屏而是从像素缓冲区中读取来执行此操作?

如果有人知道可以执行此操作的程序(我听说 windows 上的 AutoHotkey 可以),那也会有帮助,因为我正在使用 shell 脚本(和很多 xdotool)来执行自动化。

下面的代码,当这样调用时:./getColor.py [X coordinate] [Y coordinate],将以 (R, G, B)

的形式在屏幕上打印指定像素的十进制 RGB 颜色值
#!/usr/bin/python
import gi, sys
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk
pixbuf = Gdk.pixbuf_get_from_window(Gdk.get_default_root_window(), int(sys.argv[1]), int(sys.argv[2]), 1, 1)
print(tuple(pixbuf.get_pixels()))