Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#8

Re: Vergleichen zweier BitMaps

  Alt 12. Nov 2003, 18:41
Ne, ich glaub der Denkfehler liegt bei mir. Funktioniert aber dennoch.

Kannst ja auch so rechnen:

Delphi-Quellcode:
Var R1, G1, B1, R2, G2, B2, Re, Ge, Be: Byte;

{je Pixel}
R1 := Bild1.Canvas.Pixels[X, Y] and $0000FF;
G1 := (Bild1.Canvas.Pixels[X, Y] and $00FF00) shr 8;
B1 := (Bild1.Canvas.Pixels[X, Y] and $FF0000) shr 16;

R2 := Bild2.Canvas.Pixels[X, Y] and $0000FF;
G2 := (Bild2.Canvas.Pixels[X, Y] and $00FF00) shr 8;
B2 := (Bild2.Canvas.Pixels[X, Y] and $FF0000) shr 16;

Re := Ord(R1 - R2);
Ge := Ord(G1 - G2);
Be := Ord(B1 - B2);

Bild3.Canvas.Pixels[X, Y] := RGB(Re, Ge, Be);
Auch wenn es nicht ganz richtig ist, ist es doch etwas schneller:
Bild3.Canvas.Pixels[X, Y] := (Bild1.Canvas.Pixels[X, Y] xor Bild2.Canvas.Pixels[X, Y]) and $00FFFFFF;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat