Mega Code Archive

 
Categories / Delphi / Graphic
 

How to apply an emboss filter to an image

Title: How to apply an emboss filter to an image 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;