Overlay dass nach z.B. Bildern sucht?

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Overlay dass nach z.B. Bildern sucht?

    Hi Leute, ich hab da mal wieder eine Frage.

    Ich möchte gern ein Overlay basteln, was nach "Bildern" suchen kann. Siehe ersten Screenshot, die Form ist durchsichtig und es verbirgt sich nichts dahinter.

    nun kommt der 2 te screenshot, dahinter befindet sich eine Textdatei.

    Gibt es eine möglichkeit, (klar wenn das icon, bzw das bild der datei im programm ist), die form abzuscannen ob sich dieses bild in bzw hinter der form befindet?

    Mir ist klar, dass das der desktop und somit das gesuchte bild nicht "in" der form ist sondern dahinter, also eigentlich nicht im Programm... Geht das?

    Danke
    Bilder
    • 1.png

      11,06 kB, 1.098×828, 149 mal angesehen
    • 2.png

      9,86 kB, 925×794, 150 mal angesehen

    r0tzi schrieb:

    ob sich dieses bild in bzw hinter der form befindet?
    Meinst Du, dass das Pixelmuster des Icons im gegebenen Image vorhanden ist?
    Irgendwann gab es mal einen Thead, wo dies gehandelt wurde.
    Such mal im Forum nach bild im bild finden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    nein nein^^... also... das icon der textdatei welche sich auf dem desktop befindet wird bei bild 1 nicht gefunden.

    ziehe ich nun die form über diese textdatei, also das icon, dann möchte ich dass sie gefunden wird.

    es existiert also quasi nur 1 referenzbild in meinem programm. und es soll per timer oder whatever, den bereich absuchen ob das bild "unter" meiner form ist oder nicht

    r0tzi schrieb:

    ziehe ich nun die form über diese textdatei
    Das Icon?
    Genau das meine ich doch.
    Du holst aus dem vorher erstellten Screenshot des Desktop das Sub-Image unter der Form und los.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo

    DU kannst über code ja auch einen Screenshot erstellen.
    Das ganze geht ja noch wenn man einen z.b. Schwarzen Hintergrund hat, sobald man ein Hintergrundbild am Desktop hat funzt das wieder nicht.

    Solange er schwarz ist kann man einen Screenshot per Code erstellen von dem Teilbereit wo gerade die Form ist. Dann Pixel für Pixel durchgehen und nachsehen ob wo bereiche sind mit hellen Pixeln. Ist das der Fall kann man davon ausgehen das etwas "unter" der Form ist.

    Grüße
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Was Spricht denn dagegen, vom Desktop die Icons und deren Position auszulesen? (gibt einige beispiele bei Frau Google)
    Dann könntest du überprüfen, ob dieses Icon innerhalb deiner Form ist und dadurch entscheiden, jop ich hab ein Icon "innerhalb" meiner Form oder Nope, hab ich nicht.

    LG, Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    Okay, mir geht es nicht um den desktop oder den screenshot.
    stellt euch vor, ich hab ein grosses bild.... eine kleine form die nur 1/5 abdeckt.
    nun nehme ich einen auschnitt aus dem bild und möchte danach suchen ob dieser ausschnitt auf dem bild auftaucht...
    nun ziehe ich munter die form über das grosse bild... sobald ich bei dem ausschnitt angekommen bin, möchte ich dass er "Alarm, ausschnitt gefunden" schreit :D
    kannst du auch kurz die Sinnhaftigkeit dahinter erklären?

    Lg, Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    @r0tzi Genau das hab ich Dir doch on Post #2 beschrieben.
    Also:
    Wozu soll das gut sein? => Lässt sich was einfacheres machen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    r0tzi schrieb:

    da es aber bewegende bilder sind
    Wenn Du weißt wie sie sich bewegen, brauchst Du keinen Bildvergleich, sondern nur die Koordinaten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ok soweit verstanden. also ich habe nun ein screenshot auf dem objecte sind (siehte bild) nun habe ich ein zweites, ein referenzbild .. und nun möchte ich wissen, ob sich das referenzbild im screenshot befindet.
    Das waere auch eine Lösung. Wie ich Pixel mit Pixel vergleiche ist klar, nur wie kann ich ein ganze bild suchen, was sogar noch eine andere hintergrundfarbe hat? (vllt mach ich das auch transparent) Ich möchte eigentlich nur Boolean herausbekommen.

    @Kameo nicht ganz, ich möchte eigetnlich dass nach einem referenzbild gesucht bzw verglichen wird ^^... aber interessantes programm!
    Bilder
    • 2.png

      4,01 kB, 498×495, 118 mal angesehen
    • 3.png

      489 Byte, 61×70, 345 mal angesehen
    @r0tzi Zurück zu Feld Nummer 1.
    Beschreib mal, was Du tun willst (das Spiel).
    Wo kommen die Objekte im linken und im rechten Bild her, warum musst Du so was testen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    generell hats keine Perspektive, auf diese Weise ein Spiel aufzubauen. Sone Pixel-Vergleicherei frisst erheblich Performance, und ist überdies aufwändig zu coden. ZB was, wenn das Form und damit die Bilder verkleinert werden? Oder willst du das ausschließen, und damit dem User Einschränkungen bezüglich Bildschirm aufzwingen?

    Egal, wie du derlei "löst": der Performance-Frass bleibt.
    Also ein Spiel sollte die Spiel-Logik vonne Oberfläche trennen.
    Ich weiß (oder vermute zumindest) dass das eine derzeit unerfüllbare Anforderung ist, aber findich gehört hier trotzdem mal erwähnt.
    nein nein, ich progge kein spiel... das wird ein quadratische overlay, das jede sekunde ein screenshot abspeichert. in diesem screenshot also das bild mit dem objekten, möchte ich nach einen spezifischen objekt suchen lassen und ja oder nein bekommen.

    Es ist ganz einfach: Sind in dem gemachten screenshot, von einer auf die andere Sekunde, das Icon des gegners auf der karte, soll ein alarm kommen.

    deshalb ist das icon vom gegner im code und dieses soll auf dem screenshot gesucht werden. das der plan :D...

    ich möchte nicht in das spiel eingreifen, da ja alles überwacht. es soll komplett autark ablaufen

    r0tzi schrieb:

    das Icon des gegners
    Wenn das kein Spiel ist, dann isses wohl Spyware :?:
    dann wärst Du hier an der fdalschen Adresse.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Wenn das kein Spiel ist, dann isses wohl Spyware
    Soll wohl eher ein Hilfsprogramm zu einem parallel laufenden Spiel sein.
    Quasi ein automatisiertes zweites Auge auf das Spielfeld eines laufenden Programms, das Alarm auslöst, wenn sich dort etwas verändert.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich verstehe was du willst... aber das ist basically ein cheat..
    Stichwort: Triggerbot

    Und btw: Wenn es um ein Spiel geht, welches nicht im Browser oder mit GDI+ etc. gezeichnet ist, (also DirectX bzw. 90+% aller PC spiele) geht das ganze sowieso nicht mit einem einfachen Screenshotvergleich.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!