| 
   
    | ...apply an emboss filter to an image? |   
    | Autor: 
      David Reinig |  | [ Print tip 
] |  |  |  
 
 
procedure Emboss(ABitmap : TBitmap; AMount : Integer);var
 x, y, i : integer;
 p1, p2: PByteArray;
 begin
 for i := 0 to AMount do
 begin
 for y := 0 to ABitmap.Height-2 do
 begin
 p1 := ABitmap.ScanLine[y];
 p2 := ABitmap.ScanLine[y+1];
 for x := 0 to ABitmap.Width do
 begin
 p1[x*3] := (p1[x*3]+(p2[(x+3)*3] xor $FF)) shr 1;
 p1[x*3+1] := (p1[x*3+1]+(p2[(x+3)*3+1] xor $FF)) shr 1;
 p1[x*3+2] := (p1[x*3+1]+(p2[(x+3)*3+1] xor $FF)) shr 1;
 end;
 end;
 end;
 end;
 
 
   |