2013-03-03 457 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 ))。