I need to check a picturebox for a specific image. I know you can check if the picturebox is populated with an image...
If Not pictureBox.Image is Nothing Then
Else
End If
But in my case, I need to check this picturebox for an image I loaded earlier on in the process.
Here is the current code I'm using to load the image...
PictureBox1.Image = My.Resources.TestImage1
I thought by using the following code I could check the image name, but this apparently does not work.
If PictureBox1.Image = My.Resources.TestImage1 Then
'do something
Else
'do something else
End if
Suggestions?
Image does not have any knowledge of the file name or any other name that it has been loaded from. What you can do, however, is compare images pixel-by-pixel. Try this code:
Public Function AreSameImage(ByVal I1 As Image, ByVal I2 As Image) As Boolean
Dim BM1 As Bitmap = I1
Dim BM2 As Bitmap = I2
For X = 0 To BM1.Width - 1
For y = 0 To BM2.Height - 1
If BM1.GetPixel(X, y) <> BM2.GetPixel(X, y) Then
Return False
End If
Next
Next
Return True
End Function
Credit goes here.
A useful article I found when looking for this answer:
This is how you can check if your images are less than 100% equal, i.e. similar.
Dim a as image=my.resources.image1.jpg' imported file from resources
Dim b as image=my.resources.image2.jpg' imported file from resources
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
picturebox1.image=a
picturebox2.image=b
end sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
if picturebox1.image is a and picturebox2.image=b then
picturebox2.image=a
picturebox1.image=nothing
else
picturebox2.image=b
picturebox1.image=a
end if
end sub
..................Just try it! :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With