1

Тема: AHK: Как определить цвет пикселя относительно клиентской области ?

+ открыть спойлер
x0 := 50
y0 := 145
col := 0xAA9787

F8::    
    WinGetPos, x, y, , , A 
    
    CoordMode, Pixel, Client
    
    x1 := x0 + x
    y1 := y0 + y
    
    PixelGetColor, Color, x1, y1
    if Color = col    
        MsgBox, Пиксель найден     
    else
        MsgBox, Пиксель НЕ найден 
    
    CoordMode, Pixel, Relative      
Return

чё-то не догоняю, подскажите

2

Re: AHK: Как определить цвет пикселя относительно клиентской области ?


If Color = %col%
If (Color = col)

Ваш вариант неправильный.

3 (изменено: Hydrogenium, 2013-06-19 18:19:42)

Re: AHK: Как определить цвет пикселя относительно клиентской области ?

YMP пишет:

If Color = %col%
If (Color = col)

Ваш вариант неправильный.

всё равно  при

CoordMode, Pixel, Client

не ищет относительно клиентского окна


+ открыть спойлер
x0 := 35
y0 := 225
col := 0xF6EEE8



F8::    
    WinGetPos, x, y, , , A 
    
    CoordMode, Pixel, Client
    
    x1 := x0 + x
    y1 := y0 + y
    
    PixelGetColor, Color, x1, y1
    If Color = %col%
        MsgBox, Пиксель найден, `n`n x = %x% `n y = %y% `n`n x1 = %x1% `n y1 = %y1% `n`n Color = %Color%    
    else
        MsgBox, Пиксель НЕ найден, `n`n x = %x% `n y = %y% `n`n x1 = %x1% `n y1 = %y1% `n`n Color = %Color%            
    
    ;~ CoordMode, Pixel, Relative      
Return

+ открыть спойлер

http://f3.s.qip.ru/AUIOPOeU.png

p.s.
не надо делать привязку к калькулятору ))))

4

Re: AHK: Как определить цвет пикселя относительно клиентской области ?

А это зачем?


    x1 := x0 + x
    y1 := y0 + y

5

Re: AHK: Как определить цвет пикселя относительно клиентской области ?

YMP пишет:

А это зачем?


    x1 := x0 + x
    y1 := y0 + y

есть координаты клиентского окна и пиксель
x0 := 50
y0 := 145
col := 0xAA9787

и если такой код

+ открыть спойлер
x0 := 35
y0 := 225
col := 0xF6EEE8

F8::    
    WinGetPos, x, y, , , A 
    
    ;~ CoordMode, Pixel, Client
    
    x1 := x0 + x
    y1 := y0 + y
    
    PixelGetColor, Color, x1, y1
    If Color = %col%
        MsgBox, Пиксель найден, `n`n x = %x% `n y = %y% `n`n x1 = %x1% `n y1 = %y1% `n`n Color = %Color%    
    else
        MsgBox, Пиксель НЕ найден, `n`n x = %x% `n y = %y% `n`n x1 = %x1% `n y1 = %y1% `n`n Color = %Color%            
    
    ;~ CoordMode, Pixel, Relative      
Return

то как иначе определять как складывать исходную координату окна + позиция окна
хотя почему то этот код перестал работать и пишет что пишет 0xFFFFFF

6

Re: AHK: Как определить цвет пикселя относительно клиентской области ?

Неужели никто не знает как узнать цвет пикселя по координатам у клиентского окна ?

7

Re: AHK: Как определить цвет пикселя относительно клиентской области ?

Разве не очевидно, что если вы включили режим Client, то и координаты пиксела надо использовать внутриклиентские. Зачем вы прибавляете к ним позицию окна?