画像をオンラインでダウンロードしてファイルに保存するプログラムがあります。しかし、2つの画像の名前が同じであれば、ファイル名を変更して最後に1を加えてエラーがないようにするコードがあります。しかし、イメージの名前を変更する前に、イメージが同じかどうかを最初に確認する方が良いと考えていました。そして私はVBで自分の画像比較コードを作るのにまだ十分近いところにないので、Googleを見てこのコードを見つけましたが、コードは2つの同一の画像が異なっていると言っていますか?誰かが問題を見ることができたら、私は大変感謝しています。Visual Basic 2つの画像が同じかどうかを確認する
編集:私はすでに自分のフォルダに保存されている画像をインターネットからの画像と比較しています。
再編集:これを変更する必要があることを誰かが知っていれば、イメージ変数の1つが正しく読み込まれていないことがわかりました。私はテストのためにイメージ変数を同じようにしていたので、うまくいきました。ただ、誰もが、それは特定のフォルダ内のすべてのファイルに対して、画像を確認するように私はそれを作ることができる方法を知っている場合には好奇心のうち
Dim image1 As Bitmap = New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(picture)))
Dim image2 As Bitmap = CType(Image.FromFile(path + "\" + uname + ".png", True), Bitmap)
Dim a As Boolean = AreSameImage(image1, image2)
If a Then
MsgBox("Identical image")
Else
MsgBox("Different images")
End If
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
- これは本当に参考になります。再度、感謝します!
私はうまくいきませんでしたが、イメージを比較する前にimage1をダウンロードしていたので、イメージ2の場合と同じようにしました。 – 1ben99