Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Bilder schnell miteinander vergleichen

  Alt 13. Nov 2006, 19:32
Wenn Du wissen willst, ob zwei Bilder identisch sind, oder nicht, dann reicht dieser Code:
Delphi-Quellcode:
Function CompareBitmap (Bitmap1, Bitmap2 : TBitmap) : Integer;
  If CompareMem (Bitmap1.Scanline[Bitmap1.Height - 1], Bitmap2.ScanLine [Bitmap2.Height - 1], Bitmap1.Width*Bitmap1.Height*SizeOf(TRGBTriple)) Then
    Result := 0
  Else
    Result := 1
End;
Dieses Fragment liefert 1, wenn die Bitmaps ungleich sind und 0, wenn sie identisch sind. Das ist nochmal 10% schneller als Dein Code. Die Voraussetzungen sind die Gleichen: Gleiche Auflösung, gleiche Größe, gleiches Pixelformat.

Mit FastCode (siehe FastCode.Sourceforge.net) kannst Du dann nochmal 20% rausholen...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat