Leider können Sie Bilder nicht vergleichen, indem Sie einfach "=" in .NET verwenden. Dazu gibt es viele Antworten auf StackOveflow. Es gibt Bibliotheken von Drittanbietern, die Sie verwenden können, um zu tun, was Sie wollen. Sie können diesen Microsoft Bibliothekslink auch auschecken, obwohl ich nicht weiß, ob es funktioniert ImageComparer. Wenn Sie mit kleinen Bildern arbeiten, können Sie jedes Pixel vergleichen, um zu sehen, ob die Bilder übereinstimmen.
'checks if two images are the same by comparing each pixel. not very fast for large images.
Private Function AreSameImage(ByVal bitmap1 As Bitmap, ByVal bitmap2 As Bitmap) As Boolean
For X = 0 To bitmap1.Width - 1
For y = 0 To bitmap2.Height - 1
If bitmap1.GetPixel(X, y) <> bitmap2.GetPixel(X, y) Then
Return False
End If
Next
Next
'If every pixel matched, return true
Return True
End Function
Und dann für Ihr Click-Ereignis:
Dim ChestPlate As Image = My.Resources.ChestPlate
Private Sub pictureBox1_Click(sender As Object, e As EventArgs) Handles pictureBox1.Click
If AreSameImage(picturebox1.image ,Chestplate) Then
pictureBox2.Image = ChestPlate
pic1tureBox1.Image = Nothing
End If
End Sub
prüfen Sie diesen Link aus: How to make comparison in VB.NET
Auch für zukünftige Referenz des „ist“ Schlüsselwort sucht nicht nach Wertgleichheit eher für Objektgleichheit Auch wenn die Bilder die gleichen sind, da sie unterschiedliche Objekte sind, wird False zurückgegeben. C# IS Keyword
Was funktioniert nicht? Fällt es aus? Bleibt Bild zwei nur leer oder gehen beide Bilder leer? – mike100111
Nichts passiert, Bildbox1 hat das Bild und Bildbox2 hat kein Bild. – Grim