Задать вопрос
@Looking

Как определить цвет пикселя на форме?

Приветствую. Не получается определить цвет пикселя по которому кликнули.
Сама фигура отрисовывается таким способом:
SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);
            Graphics formGraphics;
            formGraphics = this.CreateGraphics();
            formGraphics.FillEllipse(myBrush, new Rectangle((int)drawX, (int)drawY, figW, figH));

Мне надо определить, что кликнули именно на нее.
Если делать как в этом ответе stackoverflow.com/questions/753132/how-do-i-get-th... то выводит цвет фона формы, а не фигуры.
  • Вопрос задан
  • 2347 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Станислав Макаров К ответам на вопрос (2)
Nipheris
@Nipheris Куратор тега C#
1) если хотите проверить, что кликнули на фигуру - лучше сделайте это с помощью уравнения эллипса;
2) если все-таки нужен цвет пикселя - лучше делайте всю отрисовку в отдельный Bitmap, его потом выводите на форму (с помощью контрола Image, например), и ИЗ НЕГО потом считывайте цвет при клике по контролу. Так будет меньше сюрпризов, чем заморачиваться с экраном;
3) внимательно следите, относительно чего считаются координаты, с которыми вы работаете - относительно угла экрана, формы или клиентской области формы.
Ответ написан