Stéganographie (cacher une image dans une autre)

Soyez le premier à donner votre avis sur cette source.

Vue 4 791 fois - Téléchargée 601 fois

Description

Ce code ouvre deux images et prend les bits de poids fort d'une image2 pour les mettre à la place des bits de poids faible d'une image1.
Pour retrouver l'image cachée, il suffit de prendre les bits de poids faibles de l'image1 et de les mettre dans une image2 en tant que bit de poids fort.
Bien sur, ily a une perte de données dans l'image reconstituée mais ça ne ce voit pas trop.

Conclusion :


La taille de l'image1 doit être plus grande que celle de l'image2.
Ce prog ne fonctionne qu'avec des .bmp

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

adess00
Messages postés
263
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
27 septembre 2008
-
J ai compris vous avez l ancienne version du code l upload de mon nouveau code n a pas du marché
Je tacherai d ajouter des commentaires dans le code
adess00
Messages postés
263
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
27 septembre 2008
-
Oula je dois revoir tout sa.
Merci de ton aide je vais rectifier la progress bar mais je ne pourrais pas utiliser le truc des pixels je ne m y connais pas du tout.

a+
LogRaam (aka Gabriel Mailhot)
Messages postés
60
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
25 avril 2005
-
Resalut,

Après avoir atteint 2000% avec la progressbar, j'ai arrêté le process. Le fichier généré par ton application était rendu à 26 Mo, ce qui suggère un LOOP éternel où tu inscris sans arrêt des données bianires dans ton fichier (via PUT). L'appli va continuer jusqu'à la limite de mes ressources de stockage.

Désolé,


MadLucas.
LogRaam (aka Gabriel Mailhot)
Messages postés
60
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
25 avril 2005
-
Salut adess00,

PLusieurs problèmes dans ton code. À commencer par la ProgressBar. Sa valeur maximum est de 100 et lors du traitement, ton code lui envois une valeur plus grande. Tu essais de t'en sortir avec ce bout de code:

On Error GoTo pass:
main.PBar1.Value = Int(a / lg * 100)
pass:
End If

Ce bout de code est une horreur. Premièrement, le code arrête sur l'instruction lorsque Value = 101 donc ton GOTO ne fonctionne pas. Deuxièmement, travail plutôt pour que la progressbar ne défonce pas, c'est plus clean.

La solution facile qui immite ton GOTO est:

progress% = Int(a / lg * 100)
If progress > 100 Then progress = 100
main.PBar1.Value = progress

Mais on s'entend que le mieux serait de refaire ton calcul afin que ta valeur ne dépasse pas 100. Sachant que ton image de gauche est la plus grande, pourquoi ne bases-tu pas ta progressbar dessus ?

Ensuite, lire ton fichier BMP en mode BINARY est plus leny que si tu utilises un parcours des pixels en mémoire. Un exemple serait d'utiliser un objet BITMAP, un objet SAFEARRAY et un objet VarPtrArray et de transférer les informations pixels avec CopyMemory. Ensuite tu n'aurais qu'à parcourir la matrice de pixels en mémoire (VarPtrArray).

Juste en passant, je test ton appli avec une image de 1423 Ko et une autre de 249 Ko et là je suis rendu à 752% avec la progressbar... et c'est pas fini.!

Il me reste à attendre pour voir le résultat. Ha oui en passant, c'est très apprécié de poster une source AVEC des commentaires. Tu pourrais faire un update.


MadLucas
adess00
Messages postés
263
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
27 septembre 2008
-
Comment vous faites pour qu il ne marche pas
il fo que l image de gauche aie une plus grande résolution et que ce soit du bmp mais soyez plus précis c koi qui ne marche pas ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.