pyautogui.pixel 从实际位置的左上角拾取颜色

pyautogui.pixel picking up color from upper left of actual position

while True:
 x=pyautogui.position()
 print(x+pyautogui.pixel(x[0],x[1]))

并且程序正在拾取实际上位于我光标左上角的颜色...

我正在使用 python 3.6,windows 10,放大倍数为 125%。这是原因之一吗?

通常用鼠标选取颜色给出的不是屏幕上鼠标指针的颜色,而是屏幕 'below' 光标的颜色。

在我的盒子上(Linux Mint)代码:

import pyautogui
while True: 
    posXY = pyautogui.position() 
    print(posXY, pyautogui.pixel(posXY[0], posXY[1]) )
    if posXY[0] == 0:
        break

提供应有的效果 - 'below' 鼠标指针的颜色。

注意死循环中的'break'。这允许您通过将鼠标移动到屏幕的左边缘来停止循环:)

我的设置与您的设置相同(但 Python 3.7)并且遇到了同样的问题。

为什么会这样? 我时不时地连接和断开笔记本电脑上的外接显示器。这每次都会导致某些缩放问题。因此,我尝试在连接外接显示器的情况下重新启动计算机,直到我 运行 这个脚本才断开它。它就像一个魅力。顺便说一句,我也尝试过重新启动 Windows Explorer,但这并没有解决问题。

tldr;重启电脑,重启后不要修改显示配置