quarta-feira, 30 de setembro de 2009

Transforma a imagem em negativo de fotografia

Procedure ColorToNegative(ABmp: TBitmap);
//
// Transforma a imagem em negativo de fotografia
//
// Use-o assim:
//
var x: TBitmap;
begin

x := TBitmap.create;
x.LoadFromFile('c:MVC-267S.bmp');
ColorToNegative(x);
image1.Picture.Assign(x);
end;
//
//
const
_high = 255;
var
c: TCursor;
x, y: Integer;
ColorRGB: LongInt;
begin
c := Screen.Cursor;
Screen.Cursor := crHourGlass;
for y := 0 to (ABmp.Height - 1) do
for x := 0 to (ABmp.Width - 1) do
begin
ColorRGB := ColorToRGB(ABmp.Canvas.Pixels[x, y]);
ABmp.Canvas.Pixels[x, y] := PaletteRGB(_high - GetRValue(ColorRGB),_high - GetGValue(ColorRGB), _high - GetBValue(ColorRGB));
end;
Screen.Cursor := c;
end;

Nenhum comentário:

Postar um comentário