Показать сообщение отдельно
  #2  
Старый 06.10.2017, 08:21
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Узнать значения цвета пикселя под мышкой на имидже можно так
Код:
var 
bmp: TBitmap;
implementation
...

procedure TForm1.FormCreate(Sender: TObject);
var
 Color: TColor;
   R,G,B: Byte;
begin
 bmp := TBitmap.Create;
 bmp.Assign(Image.Picture.Bitmap);
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
 Color: TColor;
 R,G,B: Byte;
begin
 Color:= bmp.Canvas.Pixels[x,y];
 R:= GetRValue(Color);
 G:= GetGValue(Color);
 B:= GetBValue(Color);
Label.Caption:='R: ' + Inttostr(R)+ ' G: ' + Inttostr(G)+' B: ' + Inttostr(B);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  bmp.free;
end;
а со шкалой, мож обычным сравнением выполнить "градуировку", примерно как
Код:
if (R > 158) and (G > 30) and (B < 3) then tmp:= 80;
на представленной точно не определить триады, на сжатой картинке велик разброс, нужен скриншот шкалы в .bmp
Ответить с цитированием