Zitat von
negaH:
Delphi-Quellcode:
(P1^.rgbtRed<>P2^.rgbtRed) or
(P1^.rgbtGreen<>P2^.rgbtGreen) or
(P1^.rgbtBlue<>P2^.rgbtBlue)
if (P1.R xor p2.R) or (P1.G xor P2.G) or (P1.B xor P2.B) <> 0 then
sollte schneller sein.
Die xor variante ist bei mir deutlich langsamer (ca 50%), habs mit Delphi7 und Delphi2006 getestet.
Zitat von
negaH:
Noch schneller wenn man AND masked und nicht in 24Bit
RGB sondern als 32Bit zugreift
Mein erst geposteter Code war ja für 32bit Bmps, in diesem Fall war aber 24bit schneller. Warum das so ist weiß ich allerdings nich.
zwischen
if P1^<>P2^ then
und
if P1^ xor P2^ and $FFFFFF <> 0 then
konnte ich bei 32bit auch kein unterschied feststellen, waren beide gleichschnell.
mfg