Konverzia RGB farby na ČB nie je taká jednoduchá ako sa môže zdať, pretože jednotlivé zložky farieb majú roznu intenzitu vnímania.

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;