Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > как взять цвет под курсором


Автор: Teleport 28.7.2008, 13:30
У меня на форме есть картинка. Мне нужно, чтобы когда ия вожу мышкой по картинке, то в Label выводился цвет пикселя.
Например. 255 25 95. Как сделать?  smile 

Автор: VICTAR 28.7.2008, 14:05
Код

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  lColor: TColor;
begin
  lColor := Canvas.Pixels[X, Y];
  Label1.Caption := Format('%d %d %d', [GetRValue(lColor),
    GetGValue(lColor), GetBValue(lColor)]);
end;

Автор: Teleport 28.7.2008, 14:42
2 VICTAR - да, работает, спасибо!
 А как ограничить область? Чтобы считывать цвет только из определенного прямоугольника на форме?
Например, картинка имеет размер 500 на 300, а цвет считывался только из прямоугольника 100 на 100, который всередине картинки.

Автор: VICTAR 28.7.2008, 14:51
А рассчитать координаты никак?
Ну надо же хоть немного самому думать

Добавлено через 7 минут и 25 секунд
Единственное скажу, что тебе может помочь PtInRect

Автор: Teleport 28.7.2008, 15:02
проблема возникла потому что у меня не просто Canvas smile 
Там проблема с OpenGl. 
Сам буду думать...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)