Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
10 mars 2004 à 06:41
cs_hakim0
Messages postés123Date d'inscriptionmercredi 27 août 2003StatutMembreDernière intervention12 août 2008
-
10 mars 2004 à 23:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 10 mars 2004 à 18:08
"qui fait" je voulais dire "qui fasse" désolé
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 10 mars 2004 à 18:05
Il faudrait faire un programme qui fait un XOR d'une image sur l'autre, pouis qui regarde l'écart du résultat à une image complètement noire... Résultat en pourcentage, etc...
Mais c'est pas mal quand même...
8/10
Saros
CrazyMan19
Messages postés163Date d'inscriptionsamedi 2 août 2003StatutMembreDernière intervention 4 novembre 201315 10 mars 2004 à 11:29
merci Renflied pour tes orientations :)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 10 mars 2004 à 06:41
Belle astuce.
Le codage est douteux et des tas de controles sont liés sans but au projet, mais cette COMPARAISON DE FICHIER fonctionne....
Attention cependant, tu compare les fichiers image, tu ne compare pas du tout les images..... ce qui fait qu'une image générée, devra être sauvegardée.... de même, certaines images peuvent être identiques, et donner un fichier différent, selon l'encodage, par exemple (certains encodage n'endommagent pas l'image ;) )
Tu ne tire pas du tout partie des groupes de controles, ou des fonctions.
Voici ce qu'aurait du a peu pres donner ton code
-----------------
Dim Image_File(1) As String
Private Sub Btn_Charger_Click(Index As Integer)
With cd
.CancelError = True
.Filter = "Images(*.jpg*.gif*.bmp*.jpeg|*.jpg;*.gif;*.bmp;*.jpeg"
On Error GoTo Cancelled '# On teste si l'utilisateur a cliqué sur annuler...
.ShowOpen
'# On mémorise le nom du fichier
Image_File(Index) = .FileName
'# On affiche l'image dans le PictureBox voulu
Set Picture1(Index).Picture = LoadPicture(.FileName)
End With
Exit Sub
Cancelled:
End Sub
Private Sub Btn_Comparer_Click()
'# Si l'un des deux fichier n'a pas été définit.....
If LenB(Image_File(0)) 0 Or LenB(Image_File(1)) 0 Then
MsgBox "Veuillez charger 2 images..."
'# On sors de la procédure
Exit Sub
End If
'# Si les chaines sont identiques, StrComp renvoie 0
If 0 = StrComp(Lire(Image_File(0)), Lire(Image_File(1))) Then
MsgBox "Les deux images sont identiques"
Else
MsgBox "les deux images sont différentes"
End If
End Sub
Private Function Lire(FileName As String) As String
Open FileName For Binary Access Read As #1
Lire = Space$(LOF(1))
Get 1, , Lire
Close #1
End Function
10 mars 2004 à 23:37
bien!
10 mars 2004 à 21:20
http://www.vbfrance.com/code.aspx?ID=18131
10 mars 2004 à 18:08
10 mars 2004 à 18:05
Mais c'est pas mal quand même...
8/10
Saros
10 mars 2004 à 11:29
10 mars 2004 à 06:41
Le codage est douteux et des tas de controles sont liés sans but au projet, mais cette COMPARAISON DE FICHIER fonctionne....
Attention cependant, tu compare les fichiers image, tu ne compare pas du tout les images..... ce qui fait qu'une image générée, devra être sauvegardée.... de même, certaines images peuvent être identiques, et donner un fichier différent, selon l'encodage, par exemple (certains encodage n'endommagent pas l'image ;) )
Tu ne tire pas du tout partie des groupes de controles, ou des fonctions.
Voici ce qu'aurait du a peu pres donner ton code
-----------------
Dim Image_File(1) As String
Private Sub Btn_Charger_Click(Index As Integer)
With cd
.CancelError = True
.Filter = "Images(*.jpg*.gif*.bmp*.jpeg|*.jpg;*.gif;*.bmp;*.jpeg"
On Error GoTo Cancelled '# On teste si l'utilisateur a cliqué sur annuler...
.ShowOpen
'# On mémorise le nom du fichier
Image_File(Index) = .FileName
'# On affiche l'image dans le PictureBox voulu
Set Picture1(Index).Picture = LoadPicture(.FileName)
End With
Exit Sub
Cancelled:
End Sub
Private Sub Btn_Comparer_Click()
'# Si l'un des deux fichier n'a pas été définit.....
If LenB(Image_File(0)) 0 Or LenB(Image_File(1)) 0 Then
MsgBox "Veuillez charger 2 images..."
'# On sors de la procédure
Exit Sub
End If
'# Si les chaines sont identiques, StrComp renvoie 0
If 0 = StrComp(Lire(Image_File(0)), Lire(Image_File(1))) Then
MsgBox "Les deux images sont identiques"
Else
MsgBox "les deux images sont différentes"
End If
End Sub
Private Function Lire(FileName As String) As String
Open FileName For Binary Access Read As #1
Lire = Space$(LOF(1))
Get 1, , Lire
Close #1
End Function
------------------