Emboss
procedure Emboss(Bitmap : TBitmap; AMount : Integer); var x, y, i : integer; p1, p2: PByteArray; begin for i := 0 to AMount do begin for y := 0 to Bitmap.Height-2 do begin p1 := Bitmap.ScanLine[y]; p2 := Bitmap.ScanLine[y+1]; for x := 0 to Bitmap.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;