Как преобразовать 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.Button1Click(Sender: TObject);
var
h, w: integer;
begin
for w := 0 to Image1.Width-1 do
for h := 0 to Image1.Height-1 do
Image2.Canvas.Pixels[w, h] :=
RgbToGray(Image2.Canvas.Pixels[w, h]);
end;
|
|