Question and Answer Database FAQ2728D.txt How do I convert a color to a shade of gray? Category :Windows API Platform :All Product :All 32 bit Question: How do I convert a color to a shade of gray? Answer: The following example shows how to convert an RGB color to the equivalent color of gray using the same method that a black and white television would render a color broadcast: 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; 7/16/98 4:31:28 PM
Last Modified: 01-SEP-99