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;重启电脑,重启后不要修改显示配置
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;重启电脑,重启后不要修改显示配置