2012-02-19 3 views
0

Как получить цвет пикселя Panel (или что-нибудь еще, например Form)?
(Могу ли я это сделать с функциями Graphics?)получить цвет панели

Благодарим вас заблаговременно.

+0

Возможно, вы щелкнули мышью по пикселям с помощью мыши? И относится ли форма к одному и тому же приложению? – digEmAll

+0

[Вот интересное решение, чтобы получить цвет пикселя на экране] (http://stackoverflow.com/questions/753132/how-do-i-get-the-colour-of-a-pixel-at- xy-using-c) – digEmAll

+0

@digEmAll: я установил BackImage для своей формы, когда нажата кнопка, верните цвет пикселя (10, 10) моей формы (это обратный образ) – mrdaliri

ответ

1

на основе кода при условии here,
Я создал метод расширения, который возвращает цвет управления пикселя, учитывая клиентские координаты пикселя:

public static class ControlExts 
{ 
    public static Color GetPixelColor(this Control c, int x, int y) 
    { 
     var screenCoords = c.PointToScreen(new Point(x, y)); 
     return Win32.GetPixelColor(screenCoords.X, screenCoords.Y); 
    } 
} 

Таким образом, в вашем случае вы можете сделать :

var desiredColor = myForm.GetPixelColor(10,10); 
Смежные вопросы