DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub karsilastir()
Dim resim1yol As String
Dim resim2yol As String
resim1yol = "D:\zemin1.jpg"
resim2yol = "D:\zemin2.bmp"
resim1str = EncodeFile(resim1yol)
resim2str = EncodeFile(resim2yol)
If resim1str = resim2str Then
MsgBox ("Resimler eşit")
Else
MsgBox ("Resimler eşit değil")
End If
End Sub
Public Function EncodeFile(strPicPath As String) As String
Const adTypeBinary = 1 ' Binary file is encoded
' Variables for encoding
Dim objXML
Dim objDocElem
' Variable for reading binary picture
Dim objStream
' Open data stream from picture
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = adTypeBinary
objStream.Open
objStream.LoadFromFile (strPicPath)
' Create XML Document object and root node
' that will contain the data
Set objXML = CreateObject("MSXml2.DOMDocument")
Set objDocElem = objXML.createElement("Base64Data")
objDocElem.DataType = "bin.base64"
' Set binary value
objDocElem.nodeTypedValue = objStream.Read()
' Get base64 value
EncodeFile = objDocElem.Text
' Clean all
Set objXML = Nothing
Set objDocElem = Nothing
Set objStream = Nothing
End Function
Üstad ilginize teşekkür ederim. Karşılaştırılacak resimleri nasıl seçeceğiz ?Eşit-Eşit değil için aşağıdaki şekilde bir çözüm önerebilirim.
test edildi.
Benzer için ise o konuda ben yokum
C++:Sub karsilastir() Dim resim1yol As String Dim resim2yol As String resim1yol = "D:\zemin1.jpg" resim2yol = "D:\zemin2.bmp" resim1str = EncodeFile(resim1yol) resim2str = EncodeFile(resim2yol) If resim1str = resim2str Then MsgBox ("Resimler eşit") Else MsgBox ("Resimler eşit değil") End If End Sub Public Function EncodeFile(strPicPath As String) As String Const adTypeBinary = 1 ' Binary file is encoded ' Variables for encoding Dim objXML Dim objDocElem ' Variable for reading binary picture Dim objStream ' Open data stream from picture Set objStream = CreateObject("ADODB.Stream") objStream.Type = adTypeBinary objStream.Open objStream.LoadFromFile (strPicPath) ' Create XML Document object and root node ' that will contain the data Set objXML = CreateObject("MSXml2.DOMDocument") Set objDocElem = objXML.createElement("Base64Data") objDocElem.DataType = "bin.base64" ' Set binary value objDocElem.nodeTypedValue = objStream.Read() ' Get base64 value EncodeFile = objDocElem.Text ' Clean all Set objXML = Nothing Set objDocElem = Nothing Set objStream = Nothing End Function
Üstad çok teşekkür ederim. harika oldu.Ben deneme için resim yollarını aşağıdaki şekilde belirledim. Kodlar direkt programınıza uygun değildir.
Mantık olarak uygulanabilir.
resim1yol = "D:\zemin1.jpg"
resim2yol = "D:\zemin2.bmp"
Öyle bir ayrım yok. Bu şekilde bile karşılaştırma yapılabiliyor ki bunlar resim değil .Üstad çok teşekkür ederim. harika oldu.
Acaba PNG ve JPG ayrımına dikkat etmemesi sağlanabilir mi ?
Yardımlarınız ve yönlendirmeleriniz için çok teşekkür ederiz üstadım, sağolun varolun, sağlıcakla kalınÖyle bir ayrım yok. Bu şekilde bile karşılaştırma yapılabiliyor ki bunlar resim değil .
resim1yol = "D:\UserForm1.frm"
resim2yol = "D:\UserForm1.frm"
Şöyle olabilir. İki resimde siz göre aynıdır. Ancak biri png diğeri jpg ise bu size göre resimlerin aynı olduğunu gösterir.
Gerçekte yapısal olarak bu resimler farklı formatta ve digital imzalarıda farklıdır.
Bu düzeyde bir karşılaştırma algoritmik bir işlem ile sağlabilir diye düşünüyorum.
Bu da beni aşar![]()
merhaba ; bu resim karşılastırma durumunu resim linkleri içinde yapma şansımız varmı örnek iki adet resim linkimiz var arasında fark var ise
değişmiş demesi yeterlidir.