FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Cryptage d'un texte Ascii en image bmp Emptypar Klaus Aujourd'hui à 1:15

» item_index(résolu)
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Cryptage d'un texte Ascii en image bmp Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Cryptage d'un texte Ascii en image bmp Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Cryptage d'un texte Ascii en image bmp Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Cryptage d'un texte Ascii en image bmp Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Cryptage d'un texte Ascii en image bmp Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Cryptage d'un texte Ascii en image bmp Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Cryptage d'un texte Ascii en image bmp Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Cryptage d'un texte Ascii en image bmp Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

 

 Cryptage d'un texte Ascii en image bmp

Aller en bas 
4 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp EmptyVen 16 Déc 2022 - 20:38

Un peu comme un QR code, mais très simplifié.
L'image résultat est en noir et blanc, chaque bit à 1 du texte est représenté par un pixel noir
dans l'image. On choisit la largeur de l'image (quelconque) en pixels, sa hauteur sera fonction
de la taille du texte.
Deux Subs: codage et décodage.
Ici le codage est élémentaire, mais on pourrait facilement compliquer la chose (pour les pirates
éventuels !), en ajustant évidemment le décodage en conséquence.
Ci-dessous l'image et son décodage:
         Cryptage d'un texte Ascii en image bmp Image_12

Code:
DIM rc$,a$,f1$,f2$,fb$,w,y
rc$ = CHR$(13)+CHR$(10)
f1$ = "Z:\Ch1.txt": ' Path à ajuster
f2$ = "Z:\Ch2.txt": ' idem
fb$ = "Z:\Test.bmp": ' idem
a$ = "Au clair de la lune"+rc$+"Mon ami Pierrot."
a$ = a$+rc$+"Prête-moi ta plume"+rc$+"Pour écrire un mot."
BORDER_SMALL 0: FONT_SIZE 0,12
file_open_write 1,f1$: FILE_WRITELN 1,a$: file_close 1
w = 32: ' largeur de l'image résultat, à choisir (pas de contrainte)
'         (hauteur fonction de la taille du texte)
AscToBmp(f1$,w,fb$): ' codage du texte en image
PICTURE 1: TOP 1,10: LEFT 1,10: WIDTH 1,w: HEIGHT 1,VAL(CLIPBOARD_STRING_PASTE$)
FILE_LOAD 1,fb$: ' image résultat
'
BmpToAsc(fb$,f2$): ' décodage de l'image en texte
FILE_OPEN_READ 1,f2$
y = TOP(1)+HEIGHT(1)+10
WHILE FILE_EOF(1) = 0
   FILE_READLN 1,a$: PRINT_LOCATE 10,y: PRINT a$: y = y+TEXT_HEIGHT(a$,0)
END_WHILE
END
' =============================================================================
SUB AscToBmp(f$,w,fr$)
 ' Conversion d'un fichier texte ascii f$ en image bmp fr$ binaire (N/B)
 ' Largeur de l'image w pixels, la hauteur sera fonction de la taille du texte
 ' (décodage par la sub BmpToAsc)
 DIM_LOCAL n2,p,tx$,a$,b$,c$,bi(8),x,y,i,j,v
 bi(1)=128: bi(2)=64: bi(3)=32: bi(4)=16: bi(5)=8: bi(6)=4: bi(7)=2: bi(8)=1
 n2 = NUMBER_2D_TARGET
 p = 450: MEMO p: HIDE p: WIDTH p,2000: FILE_LOAD p,f$
 tx$ = TEXT$(p): DELETE p: ' (lecture de la totalité de f$ dans la variable tx$)
 b$ = ""
 FOR j = 1 TO LEN(tx$)
     a$ = MID$(tx$,j,1)
     v = ASC(a$)
     FOR i = 1 TO 8
         IF BIN_AND(v,bi(i)) > 0 THEN b$ = b$+"1": ELSE: b$ = b$+"0"
     NEXT i
 NEXT j
 PICTURE p: WIDTH p,w: HEIGHT p,2000: 2D_TARGET_IS p
 x = 0: y = 0
 FOR i = 1 TO LEN(b$)
     c$ = MID$(b$,i,1)
     IF c$ = "1" THEN 2D_POINT x,y
     x = x+1: IF x = w THEN x = 0: y = y+1
 NEXT i
 y = y+1: HEIGHT p,y: CLIPBOARD_STRING_COPY STR$(y): ' hauteur image
 FILE_SAVE p,fr$: 2D_TARGET_IS n2: DELETE p  
END_SUB
' =============================================================================
SUB BmpToAsc(f$,fr$)
 ' Décodage d'une image bmp f$ (créée par la sub AscToBmp) en fichier
 ' texte fr$ ascii.
 DIM_LOCAL w,h,x,y,p,b$,a$,tx$,bi(8),i,j,v
 bi(1)=128: bi(2)=64: bi(3)=32: bi(4)=16: bi(5)=8: bi(6)=4: bi(7)=2: bi(8)=1  
 FILEBIN_OPEN_READ 1,f$
     FILEBIN_POSITION 1,18: w = FILEBIN_READ(1)+256*FILEBIN_READ(1)
     FILEBIN_POSITION 1,22: h = FILEBIN_READ(1)+256*FILEBIN_READ(1)
 FILEBIN_CLOSE 1
 p = 450: PICTURE p: HIDE p: WIDTH p,w: FILE_LOAD p,f$
 b$ = "": x = 0: y = 0
 FOR y = 0 TO h-1
     FOR x = 0 TO w-1
         a$ = "1": IF COLOR_PIXEL_RED(p,x,y) > 0 THEN a$ = "0"
         b$ = b$+a$
     NEXT x
 NEXT y
 DELETE p
 tx$ = ""
 FOR j = 1 TO LEN(b$) STEP 8
     a$ = MID$(b$,j,8): v = 0
     FOR i = 1 TO 8
         IF MID$(a$,i,1) = "1" THEN v = v+bi(i)
     NEXT i
     tx$ = tx$ + CHR$(v)
 NEXT j
 MEMO p: HIDE p: ITEM_ADD p,tx$: FILE_SAVE p,fr$: DELETE p
END_SUB
' =============================================================================


Dernière édition par JL35 le Sam 17 Déc 2022 - 12:28, édité 1 fois
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Re: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp EmptyVen 16 Déc 2022 - 21:28

Salut JL35
Merci pour le partage.
C'est une idée comme une autre pour chatouiller les "pirates éventuels".
A ce que je vois, il me semble que tu as oublié comment poster un code !
Tu n'as certainement pas remarqué les   Cool   qui décorent ton code!

NB : le forum remplace les deux caractères 8 suivi de la parenthèse en un smiley Cool.
Pour rémédier à ce désagrément, ajouter un caractère espace entre les deux.

Bon, comme je n'ai rien d'autre à faire, je remets ton code en ordre  tongue
tout en adaptant les chemins à ma convenance

Code:

DIM rc$,a$,f1$,f2$,fb$,w,y
rc$ = CHR$(13)+CHR$(10)
f1$ = "c:\temp\Ch1.txt": ' Path à ajuster
f2$ = "c:\temp\Ch2.txt": ' idem
fb$ = "c:\temp\Test.bmp": ' idem
a$ = "Au clair de la lune"+rc$+"Mon ami Pierrot."
a$ = a$+rc$+"Prête-moi ta plume"+rc$+"Pour écrire un mot."
BORDER_SMALL 0: FONT_SIZE 0,12
file_open_write 1,f1$: FILE_WRITELN 1,a$: file_close 1
w = 32: ' largeur de l'image résultat, à choisir (pas de contrainte)
'         (hauteur fonction de la taille du texte)
AscToBmp(f1$,w,fb$): ' codage du texte en image
PICTURE 1: TOP 1,10: LEFT 1,10: WIDTH 1,w: HEIGHT 1,VAL(CLIPBOARD_STRING_PASTE$)
FILE_LOAD 1,fb$: ' image résultat
'
BmpToAsc(fb$,f2$): ' décodage de l'image en texte
FILE_OPEN_READ 1,f2$
y = TOP(1)+HEIGHT(1)+10
WHILE FILE_EOF(1) = 0
   FILE_READLN 1,a$: PRINT_LOCATE 10,y: PRINT a$: y = y+TEXT_HEIGHT(a$,0)
END_WHILE
END
' =============================================================================
SUB AscToBmp(f$,w,fr$)
 ' Conversion d'un fichier texte ascii f$ en image bmp fr$ binaire (N/B)
 ' Largeur de l'image w pixels, la hauteur sera fonction de la taille du texte
 ' (décodage par la sub BmpToAsc)
 DIM_LOCAL n2,p,tx$,a$,b$,c$,bi( 8 ),x,y,i,j,v
 bi(1)=128: bi(2)=64: bi(3)=32: bi(4)=16: bi(5)=8: bi(6)=4: bi(7)=2: bi( 8 )=1
 n2 = NUMBER_2D_TARGET
 p = 450: MEMO p: HIDE p: WIDTH p,2000: FILE_LOAD p,f$
 tx$ = TEXT$(p): DELETE p: ' (lecture de la totalité de f$ dans la variable tx$)
 b$ = ""
 FOR j = 1 TO LEN(tx$)
     a$ = MID$(tx$,j,1)
     v = ASC(a$)
     FOR i = 1 TO 8
         IF BIN_AND(v,bi(i)) > 0 THEN b$ = b$+"1": ELSE: b$ = b$+"0"
     NEXT i
 NEXT j
 PICTURE p: WIDTH p,w: HEIGHT p,2000: 2D_TARGET_IS p
 x = 0: y = 0
 FOR i = 1 TO LEN(b$)
     c$ = MID$(b$,i,1)
     IF c$ = "1" THEN 2D_POINT x,y
     x = x+1: IF x = w THEN x = 0: y = y+1
 NEXT i
 y = y+1: HEIGHT p,y: CLIPBOARD_STRING_COPY STR$(y): ' hauteur image
 FILE_SAVE p,fr$: 2D_TARGET_IS n2: DELETE p  
END_SUB
' =============================================================================
SUB BmpToAsc(f$,fr$)
 ' Décodage d'une image bmp f$ (créée par la sub AscToBmp) en fichier
 ' texte fr$ ascii.
 DIM_LOCAL w,h,x,y,p,b$,a$,tx$,bi( 8 ),i,j,v
 bi(1)=128: bi(2)=64: bi(3)=32: bi(4)=16: bi(5)=8: bi(6)=4: bi(7)=2: bi( 8 )=1  
 FILEBIN_OPEN_READ 1,f$
     FILEBIN_POSITION 1,18: w = FILEBIN_READ(1)+256*FILEBIN_READ(1)
     FILEBIN_POSITION 1,22: h = FILEBIN_READ(1)+256*FILEBIN_READ(1)
 FILEBIN_CLOSE 1
 p = 450: PICTURE p: HIDE p: WIDTH p,w: FILE_LOAD p,f$
 b$ = "": x = 0: y = 0
 FOR y = 0 TO h-1
     FOR x = 0 TO w-1
         a$ = "1": IF COLOR_PIXEL_RED(p,x,y) > 0 THEN a$ = "0"
         b$ = b$+a$
     NEXT x
 NEXT y
 DELETE p
 tx$ = ""
 FOR j = 1 TO LEN(b$) STEP 8
     a$ = MID$(b$,j,8): v = 0
     FOR i = 1 TO 8
         IF MID$(a$,i,1) = "1" THEN v = v+bi(i)
     NEXT i
     tx$ = tx$ + CHR$(v)
 NEXT j
 MEMO p: HIDE p: ITEM_ADD p,tx$: FILE_SAVE p,fr$: DELETE p
END_SUB
' ========================================================================

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Re: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp EmptyVen 16 Déc 2022 - 22:10

Mince alors, je ne l'ai même pas remarqué au départ !
Merci mon ami papydall pour ta remarque judicieuse et ta correction !
J'ai dû le savoir, mais j'avais complètement oublié...

Je regarde ta photo, tu n'as pas pris une ride... Very Happy

Je viens de comprendre pour les images intempestives dans le code, c'est tout simplement que j'avais oublié
de mettre le code entre les balises <Code> ! c'est corrigé ci-dessus.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Re: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp EmptySam 17 Déc 2022 - 16:45

L'image résultat du cryptage peut être minuscule (1 pixel par bit).
On peut l'agrandir à volonté pour le confort visuel, mais pour le décryptage il faudra utilise l'image
originale (ou modifier la sub de décryptage en con séquence.
Pour agrandir (ou réduite) une image bmp quelconque:
Code:
SUB ZoomBmp(f$,z,fr$)
  ' Zoom d'une image bmp f$ d'un facteur z, résultat dans fr$ (bmp)
  DIM_LOCAL n2,w,h,p: n2 = NUMBER_2D_TARGET
  FILEBIN_OPEN_READ 1,f$
      FILEBIN_POSITION 1,18: w = FILEBIN_READ(1)+256*FILEBIN_READ(1)
      FILEBIN_POSITION 1,22: h = FILEBIN_READ(1)+256*FILEBIN_READ(1)
  FILEBIN_CLOSE 1
  p = 450: FORM p: BORDER_HIDE p: WIDTH p,w*z: HEIGHT p,h*z
  PICTURE p+1: PARENT p+1,p: FULL_SPACE p+1: STRETCH_ON p+1: FILE_LOAD p+1,f$
  IMAGE p+2: 2D_TARGET_IS p: 2D_IMAGE_COPY p+2,0,0,w*z,h*z
  FILE_SAVE p+2,fr$
  2D_TARGET_IS n2: DELETE p+2: DELETE p+1: DELETE p
END_SUB
origine (32x21) :
Cryptage d'un texte Ascii en image bmp Test_b14
x 4 (128x84) :
Cryptage d'un texte Ascii en image bmp Testz_11


Dernière édition par JL35 le Sam 17 Déc 2022 - 20:38, édité 1 fois
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Re: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp EmptySam 17 Déc 2022 - 19:25

--------------------------
Cryptage d'un texte Ascii en image bmp Image111
--------------------------
lol!
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Re: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp EmptySam 17 Déc 2022 - 20:08

Merci jj !
ça peut( servir pour un camouflage sommaire.
Et comme je disais on peut le compliquer à loisir (décalages, etc.)
pour mettre à l'abri nos secrets d'état Wink
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Re: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp EmptySam 17 Déc 2022 - 21:18

Bonjour JL35 et bonjour à tous !

Effectivement, c'est très intéressant et pas seulement pour le camouflage ou les services secrets !!

Je vois une autre option qui permet de sauvegarder des options d'un programme.
Avec des états actif ou inactifs par exemple en lieu et place de fichier texte.
Voir même des options plus avancées...

Je suis sûr qu'en cherchant bien on trouvera plein d'utilisations a ce mini QR-code...

Merci pour le partage Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Re: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp EmptySam 17 Déc 2022 - 22:05

Merci Minibug, c'est un plaisir !
Et certes on doit pouvoir trouver d'autres applications...
Revenir en haut Aller en bas
Contenu sponsorisé





Cryptage d'un texte Ascii en image bmp Empty
MessageSujet: Re: Cryptage d'un texte Ascii en image bmp   Cryptage d'un texte Ascii en image bmp Empty

Revenir en haut Aller en bas
 
Cryptage d'un texte Ascii en image bmp
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Annoter une image avec des bulles de texte
» Texte sur image
» Ecrire un texte sur une image.
» Bulle de texte sur image
» Écrire un texte dans une image

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: