Wie vergleichen Sie zwei Bilder?

public void winCheck()
{
    if (button1.Image == img1)
    {
        w1 = "P2";
        button1.Image = new Bitmap(@"win_cross.png");
        button2.Image = new Bitmap(@"win_cross.png");
        button3.Image = new Bitmap(@"win_cross.png");
    }
}

Hier sowohl button1.Image und img1 haben gleiche Bild, aber immer noch, die Steuern gehen nicht in die if block.
Ist Ihr jede Eigenschaft der beiden, so dass der Wert von beiden wird das gleiche sein.

Sind Sie versucht zu sagen, dass das Bild identisch sind, weil Sie bit-pro-bit-identisch (Sie zeigen das gleiche Bild)? Wie wollen Sie initialisieren den button1.Bild und der img1 variable?
Eigentlich sind Sie das gleiche Bild, bit-pro-bit , ich habe intialized den button1.Bild in button1 click-Ereignis-handler und ich img1(Bild)(public) Variablen in der main-Klasse selbst.
mögliche Duplikate von Vergleich der Bilder
Thisn ist sehr schlecht Codierung setzen auf grafische element zu halten, Staaten und test dieser Staaten. Stattdessen sollten Sie die Definition einer enumeration, die für die verschiedenen Staaten, haben ein Feld eingegeben mit diesem enum, und definieren Sie eine Methode, erfrischt Ihre Bild-Steuerelemente, die je nach Bereich enum-Wert.
Dies ist ein schönes Beispiel: dotnetexamples.com/2012/07/fast-bitmap-comparison-c.html

InformationsquelleAutor k3rn3l | 2014-02-08

Schreibe einen Kommentar