Как преобразовать RGB-цвет в оттенки серого в Delphi?

В приведенном примере для преобразования RGB-цвета используются коэффициенты, принятые в телевидении:

function RgbToGray(RGBColor : TColor) : TColor; 
var
  Gray : byte; 
begin
  Gray := Round((0.30*GetRValue(RGBColor))+(0.59*GetGValue(RGBColor))+(0.11*GetBValue(RGBColor))); 
  Result := RGB(Gray, Gray, Gray); 
end; 
  
procedure TForm1.FormCreate(Sender: TObject); 
begin
  Shape1.Brush.Color := RGB(255, 64, 64); 
  Shape2.Brush.Color := RgbToGray(Shape1.Brush.Color); 
end; 
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (13 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий