Bild im Bild finden?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bild im Bild finden?

    Ich möchte den Inhalt eines Sprites/Surface/etc. (genannt A) in einem Anderen Sprite/Surface/etc. (hier B) finden.

    Welche Möglichkeiten gibt es ausser bruteforce d.h. dass ich Pixel für Pixel von B durchgehe und z.B. nach dem piixel links oben in A suche (wenn dieser gefunden wird, dann den nebendran prüfen usw.

    Das brauche ich für das Tool für das Community Projekt.
  • Original von bernt
    Bringt es dir vielleicht ein Protokol zu erstellen das beinhaltet welcher Draw Befehl mit welchen Argumenten wann ausgeführt wurde?

    Nein, weil das Bild in dem gegsucht werden soll, in Screen vom GM sein wird, da kann ich leider nichts protokollieren...^^
  • Das, was du hier anstrebst, ist nicht unbedingt etwas, wofür der GM geschaffen wurde. Etwas derartiges ist in allen Programmiersprachen ein schwieriges Unterfangen. Ich kann mir auch nicht vorstellen, dass es dafür eine DLL gibt. Eine Möglichkeit, die mir einfallen würde, wäre Farbinformationen von Pixeln zu vergleichen und sich dadurch von Pixel zu Pixel weiterzuarbeiten.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Original von mauge
    Das, was du hier anstrebst, ist nicht unbedingt etwas, wofür der GM geschaffen wurde. Etwas derartiges ist in allen Programmiersprachen ein schwieriges Unterfangen. Ich kann mir auch nicht vorstellen, dass es dafür eine DLL gibt. Eine Möglichkeit, die mir einfallen würde, wäre Farbinformationen von Pixeln zu vergleichen und sich dadurch von Pixel zu Pixel weiterzuarbeiten.

    Ja, darauf läuft es atm hinaus. Der Algorithmus, den ich entwarf, läuft vergleichsweise schnell.
    Original von Melancor
    Darf ich fragen, wofür Du das genau brauchst? Vielleicht gibt es ja eine alternative Lösung. Community-Projekt?

    Ich möchte ja wie gesagt ein Tool erstellen, das Team-Projekte mit dem GM erleichtern soll, indem es alle Informationen außerhalb des GM speichert um sie dann bei Bedarf zu einer .gm6 zusammenzufügen und zu einer Exe zu machen.

    Damit ich nun aber den Code in die Events einfügen kann (welche ich per simulierter Tastendrücke hinzufüge), muss ich einen "Execute a Piece of Code"-Block in das Event ziehen. Das geht leider nicht durch Tastendrücke.
    Deshalb, und weil die Position des Icons immer anders sein kann, muss ich das Icon in einem Screenshot des aktuellen GM-Fensters suchen. Das funktioniert auch ganz gut (zumindest bei mir).
    Es mag vielleicht nicht besonder schnell sein, aber es funktioniert.
    Optmieren kann ich den Code nichtmehr, jedoch könnte ich es in eine DLL auslagern, was deutliche Geschwindigkeitsvorteile bieten sollte.

    Schlussendlich plane ich das Tool, nach Veröffentlichung einer brauchbaren Version, umzuschreiben, so dass es die .gm6-Dateien direkt schreibt, es gibt ja bereits eine Beschreibung des Dateiformats.
    But first things first.
  • Ich versteh zwar davon nicht viel, aber falls Du es noch nicht kennst, mit AutoHotKey kann man einiges in der Richtung machen. AutoHotKey gibt Dir zum Beispiel die genaue ID von jedem Button oder sonstigem Windows-Objekt aus. Tastendruck- und Mausklick- Sequenzen kann man damit auch simulieren und/oder aufzeichnen, aber ein AHK-Skript kannn noch viel mehr. Würde mich interessieren, was Du davon hältst.
  • Benutzer online 2

    2 Besucher