Zwei Bilder vergleichen...



  • Ich würde gerne zwei Bilder in einer IF-Anweisung vergleichen und dann eine bestimmte Aktion ausführen. Dazu habe ich mehrere Images mit verschiedenen Pictures.

    if (Key == 'd')
    {
    if(Image1->Picture==Image6->Picture)
    {
     Timer1->Enabled=true;
     Timer2->Enabled=false;
     Timer3->Enabled=false;
    }
    }
    

    Leider passiert da garnichts - warum auch immer! wenn ich die if-anweisung einfach weg lasse, gehts wunderbar... nur ich brauch eine einschränkende anweisung.

    Hat jemand ne idee, was ich da machen könnte. hab schon alles versucht und keine ideen mehr. Bitte um Hilfe, thx!

    MfG
    MiG



  • Du vergleichst nur, ob die Zeiger übereinstimmen.

    Du müsstest dir am besten eine Funktion schreiben, die per TBitmap::ScanLine die Pixel vergleicht.

    Edit: *lol*

    [ Dieser Beitrag wurde am 22.03.2003 um 18:24 Uhr von Eßer editiert. ]



  • Du vergleichst die ADRESSEN der beiden Picture's !!! - die sind nie gleich.

    Wenn Du die Bilder auf Inhalt vergleichen willst, musste mit:

    Canvas->Pixels[i][j] auf die bildpunkte
    oder mit

    TImage->Picture->Bitmap->ScanLine[y] auf eine Zeile

    zugreifen und die vergleichen!

    PS: zu langsam

    Schau die mal die BCB- Hilfe dazu an!

    [ Dieser Beitrag wurde am 22.03.2003 um 18:23 Uhr von DerAltenburger editiert. ]



  • kann ich nicht auch irgendwie einfach überprüfen ob der pfad von dem picture der selbe ist. also if(Image1->pfad("gerade.bmp") oder sowas in der art. gibt es da vielleicht einen simplen befehl?



  • Neeeeeeeeeee.

    in TImage wird der Pfad nicht gespeichert!

    Aber Du kannst den machen:

    -- Von TImage 'ne Klasse ableiten
    -- Ne Public- Variable (Property) fuer den Namen einfuegen
    -- Ne Eigene LoadFromFile() schreiben
    -- in der wird : Bild geladen mit Original LoadFromFile
    -- Der name gespeichert!

    Voila, dann kannste die Namen vergleichen! 😃

    PS: Geht bei mir schon lange so!



  • lol, DARUM versaut es den Stil als Anfänger mit BCB anzufangen... BILD1 == BILD2 😃



  • hee?? naja. danke erstma für die auskunft. weiss nicht wirklich ob mich das weiter gebracht hat!



  • das meine ich ja... ein wenig Theorie und ein gutes Buch würde nicht Schaden bvor du anfängst...



  • ...schulprojekt. nix buch, nix geld, kaum bock 🙂

    du verstehen?



  • hallo,

    @mig: nix geld, nix bock, nix buch == nix programmieren...

    mfg
    murph



  • murph schrieb:

    hallo,

    @mig: nix geld, nix bock, nix buch == nix programmieren...

    mfg
    murph

    Um nicht gleich alle Neulinge abzuschrecken:

    nix bock == nix programmieren...

    MfG
    snwFlake



  • etechniker schrieb:

    lol, DARUM versaut es den Stil als Anfänger mit BCB anzufangen... BILD1 == BILD2 😃

    Was hat das mit dem BCB zu tun?
    Im BCB sieht man eindeutig, dass das "Bild" nur ein Zeiger auf ein Bild ist durch den -> Operator. In Delphi ist das weniger eindeutig.



  • In Delphi ist das genauso eindeutig, weil alle Objektreferenzen Zeiger sind (d.h. nil sein können) und deshalb eine Unterscheidung zwischen "->" und "." nicht nötig ist.

    Außerdem war dieser Thread 12 Jahre lang unberührt, bevor snwFlake meinte, ihn durch einen wichtigen Nachtrag wiederbeleben zu müssen.



  • audacia schrieb:

    Außerdem war dieser Thread 12 Jahre lang unberührt, bevor snwFlake meinte, ihn durch einen wichtigen Nachtrag wiederbeleben zu müssen.

    Für gewöhnlich suche ich nicht erst nach dem Datum wenn ein Thread ganz oben als unread auftaucht....!


Anmelden zum Antworten