Bestimmten Bereich zweier Bilder miteinander vergleichen



  • Hi,

    ich habe folgendes Problem:
    Ich möchte gerne auf dem Bildschirm, eine bestimmte Stelle auf Veränderungen prüfen. Z.B. eine Lebensanzeige in einem Spiel.

    Ich habe mir jetzt gedacht, dass man einen Screenshot machen könnte und diesen dann in eine Komponente läd. Aber wie schaffe ich es, nur einen kleinen Bereich dieses Bildes mit einem anderen Bild zu vergleichen (Bsp. Lebensanzeige)?

    Und wie und womit überprüfe ich dann auf Veränderungen?

    Für nützliche Tipps wäre ich sehr dankbar!
    ravel



  • Ravel schrieb:

    Und wie und womit überprüfe ich dann auf Veränderungen?

    Pixel für Pixel auslesen und vergleichen. Siehe z.B. TCanvas::Pixels oder TBitmap::ScanLine.

    Aber wie schaffe ich es, nur einen kleinen Bereich dieses Bildes mit einem anderen Bild zu vergleichen (Bsp. Lebensanzeige)?

    Indem du eben nur die Pixel dieses Bildausschnittes vergleichst.



  • Hi,

    danke für die Tipps Jansen, klappt alles wunderbar. Ich brauche eigentlich nur die Veränderung der Farbe eines Pixels und das hat auch geklappt.

    Eine Frage habe ich aber noch: Ist es irgendwie möglich einen Screenshot von einer bestimmten Position des Bildschirms zu machen (Ich meine jetzt nicht, das programmiertechnisch umgesetzte Alt+Drucken)? -Das würde den Ablauf etwas schneller machen als ein Screenshot vom gesamten Bildschirm, welchen ich eigentlich garnicht brauche.

    Gruß
    ravel



  • Kommt darauf an, wie du den Screenshot erstellst. Wenn du mit TCanvas arbeitest kannst du z.B. per CopyRect den jeweiligen Ausschnitt festlegen.


Anmelden zum Antworten