Я наконец понял это. Я пытался использовать grab(x, y, w, h)
без параметра bbox=(x, y, w, h)
. За два дня пути я не нашел ни одной полезной вещи на Inte rnet. Я думал, что все это время не работало из-за отсутствующего пакета или какой-либо зависимости конверсии Linux / Windows.
Надеюсь, это поможет всем, кто сталкивается с этой очень простой, но мучительной ошибкой.
Вот именно то, что я делал:
def grab(x, y, w, h):
screen = np.array(ImageGrab.grab(x, y, w, h)) # Throws XCB error
...
return screen
Вот правильный код для Windows платформы:
def grab(x, y, w, h):
screen = np.array(ImageGrab.grab(bbox=(x, y, w, h))) # Throws no errors
# screen = np.array(ImageGrab.grab()) # Alternative that grabs full screen
...
return screen