Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
Applicera ett embossfilter till en bild
|
Kategori: Grafik
Inlagt: 2007-06-17
Läst: 1602
Inlagt av: Staffan Berg
|
Beskrivning |
Detta exempel skapar en "emboss"-effekt på en bild.
|
Kod |
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;
|
|
|