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;

Взято с Исходников.ru



Содержание раздела