- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 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: 1526
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; 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -