Hallo!
Ich weiß das Thema haben wir schon dutzende Male besprochen.
Ich möchte die Differenz zweier Bitmaps mit hilfe des Bitblt Befehls errechnen um nur die Änderung zwischen 2 Bildern zu erhalten. Diese Änderung soll dann irgendwie wieder auf das Originalbild gelegt werden um das veränderte Bild zurückzugewinnen.
Dafür habe ich diesen Thread hier studiert:
http://www.delphipraxis.net/internal...306&highlight=
Allerdings finde ich da nicht die entgültige Lösung.
Ich habe dies hier getestet:
Delphi-Quellcode:
procedure DifZweierBilder(ZielDC,DC1,DC2:HDC);
begin
// ( DC1 and ( not ( DC1 and DC2 )) damit sollte folgendes ausgedrückt werden
// erstmal kopieren
BitBlt(ZielDC,0,0,1024,768,DC1,0,0,SRCCOPY);
// die innere UND-Verknüpfung
BitBlt(DC1,0,0,1024,768,DC2,0,0,SRCAND);
// die UND-NICHT verknüpfung
BitBlt(ZielDC,0,0,1024,768,DC1,0,0,NOTSRCAND);
end;
// Aufruf durch
DifZweierBilder(ZielCanvas.Handle,Canvas1.Handle,Canvas2.Handle);
Aber selbst wenn ich es mit mergepaint modifiziere funktioniert Bitblt nicht so wie ich es gerne hätte.
Kann mir jemand sagen wie ich nun das Bitblt verwenden?
Das wäre echt super von euch!