Funkce BMPToGrey

Klíčová slova: BMPToGray, BMP
Rubrika: Delphi

Následující funkce BMPToGray vám pomůže převést obrázek BMP do odstínů šedi. Jako vstupní parametr funkce je předán odkaz aImage na komponentu typu TImage. Na této komponentě proběhne načtení příslušného pixelu z Canvasu. Po úpravě (převod do odstínů šedi) jej opět zapíšeme na stejné místo. Obrázek je po každém zhotoveném sloupci znovu překreslen pro viditelnost průběhu konverze.

 

function TForm1.BMPToGrey(aImage : TImage) : boolean;
const
RConst = 0.2989;
GConst = 0.5866;
BConst = 1-RConst-GConst;
var
x,y: integer;
c: TColor;
r,g,b : byte;
begin
Result := False;
try
for x := 0 to aImage.Picture.Bitmap.Width do
begin
for y := 0 to aImage.Picture.Bitmap.Height do
begin
c := aImage.Canvas.Pixels[x,y];
r := (c and $0000FF);
g := (c and $00FF00)shr 8;
b := (c and $FF0000)shr 16;
aImage.Canvas.Pixels[x,y] := round( r*RConst + g*GConst + b*BConst )*$010101;
end;
aImage.Repaint; // obnovení obrázku (překreslen sloupec)
end;
Result := True;
except
raise;
end;
end;

 
Autor: Jiří Provazník
Datum vydání: 08.01.2003 | Zobrazeno: 2352
Permanentní odkaz: Funkce BMPToGrey

Komentáře (0)
Přidej vlastní komentář:
Následující (běžně neviditelná) pole slouží pro vnitřní identifikaci systému. Pokud je vyplníte nebude možné váš požadavek na straně serveru zpracovat:
URL:
contents:
Website:
Pro odeslání vašeho komentáře použijte tlačítko "Odeslat". Toto tlačítko nepoužívejte:

Následující položky je vhodné vyplnit:
Jméno :
Email :
Web :
Místo :
Hodnocení:
Hodnocení jako pomocí hvězdiček
1/5= nejhorší, 5/5=nejlepší