...apply an emboss filter to an image?

Author: David Reinig

Category: Graphic

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;

 

printed from
www.swissdelphicenter.ch
developers knowledge base