¿Cómo comparar dos imágenes en VB?
Si los dos archivos de imagen están en el mismo formato, no utilice métodos tradicionales para abrir la imagen, cargar la imagen, etc., porque he probado que el soporte de VB para imágenes es muy pobre y el La imagen es demasiado grande o el formato es demasiado nuevo y no se puede cargar normalmente. Por lo tanto, creo que si simplemente juzgas si dos imágenes son iguales y el formato de los dos archivos de imagen es el mismo, puedes tratarlas. archivos de imagen como archivos binarios normales Ábralos y luego compárelos byte por byte...
Opción explícita
Private Sub Command1_Click()
Const CD = 1024. 'Comparar una vez Número de bytes
Dim i As Long, j As Long, k As Long
Dim A As Long, B As Long, C As Long
Dim Sa (1 a CD) como byte, Sb(1 a CD) como byte
Dim Fa como cadena, Fb como cadena
Fa = "e:\c.bmp " 'Para comparar dos archivos
Fb = "e:\d.bmp"
C = FileLen(Fa)
If C lt; gt; FileLen (Fb) Entonces
MsgBox "No es lo mismo, la longitud del archivo es diferente", , ""
Salir de Sub
Fin si
A = C \ CD
B = C Mod CD
Abrir Fa para acceso binario Leer como #1
Abrir Fb para acceso binario Leer como # 2
Para i = 1 a A
Para j = 1 a CD
DoEvents
Obtenga #1, , Sa(j )
Obtener #2, , Sb(j)
Si Sa(j) lt;gt; Sb(j) Entonces
MsgBox "No es lo mismo , el contenido del archivo es diferente" , , ""
Salir Sub
Fin
Siguiente
Siguiente
Para j = 1 a B
Obtenga #1, , Sa(j)
Obtenga #2, , Sb(j)
Si Sa( j) lt;gt; Sb (j) Entonces
MsgBox "No es lo mismo, el contenido del archivo es diferente", , ","
Salir
Sub
Finalizar si
Siguiente
Cerrar #1
Cerrar #2
MsgBox "Igual", , ""
End Sub
Sub privado Form_QueryUnload(Cancelar como entero, UnloadMode como entero)
Descargarme
Fin p>
Fin del subtítulo