如何从屏幕获取像素值(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()))
我正尝试在 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)
#!/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()))