|
|
|
Šedá škála
|
12.12.2009
|
Úvod
Funkce pro převod obrázku do šedých odstínů. Na form vložíme 2x Image a do prvního natáhneme fotku ve formátu bmp.
Po stisku tlačítka dojde k převodu.
Prvky
Button1 (Caption: Šedá škála)
Image1 (Picture: TBitmap)
Image2 (Stretch: True)
Kód
procedure TForm1.Button1Click(Sender: TObject);
var x,y: integer;
c: TColor;
r,g,b: byte;
const
RPodil = 0.2989;
GPodil = 0.5866;
BPodil = 1-RPodil-GPodil;
begin
for x := 0 to Image2.Width do
begin
Image2.Repaint;
for y := 0 to Image2.Height do
begin
c := Image1.Canvas.Pixels[x,y];
r := (c and $0000FF);
g := (c and $00FF00) shr 8;
b := (c and $FF0000) shr 16;
Image2.Canvas.Pixels[x,y] := round( r*RPodil + g*GPodil + b*BPodil )*$010101;
end
end;
end;
Snímek
|
|
|