[英]pywin32: Get color by using coordinates
我编写了以下代码,以使鼠标在x,y位置100,200上单击,然后按下Backspace按钮:
import win32api, win32con
import time
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
def press_back():
win32api.keybd_event(0x08,0,0,0) #click backspace
time.sleep(0.1)
win32api.keybd_event(0x08,0,2,0) #release backspace
click(100,200)
press_back()
我现在要检查的是100,200处的颜色是否为红色。 我怎样才能做到这一点?
编辑:我有解决方案...
color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), 100 , 200)
不管怎么说,多谢拉
用你的答案
color = win32gui.GetPixel(win32gui.GetDC(win32gui.GetActiveWindow()), 100 , 200)
您会得到一个整数,这对于像我这样的人可能并不十分友好。
如果需要RGB元组,可以检查以下答案: RGB Int to RGB-Python 。
def rgbint2rgbtuple(RGBint):
blue = RGBint & 255
green = (RGBint >> 8) & 255
red = (RGBint >> 16) & 255
return (red, green, blue)
最后,您可以检查颜色是否为红色,如果您还接受相似的颜色(不仅是纯红色)(即(255,0,0)),那将不是那么容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.