2013-03-03 40 views
0

获取颜色我写了这个代码,以使在X鼠标点击,y坐标100,200,之后我按Backspace键:pywin32:使用坐标

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) 

感谢反正

回答

1

随着你的答案

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 ))。