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
» Logiciel de planétarium.
Cryptage d'un texte Ascii en image bmp Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Cryptage d'un texte Ascii en image bmp Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Cryptage d'un texte Ascii en image bmp Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Cryptage d'un texte Ascii en image bmp Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Cryptage d'un texte Ascii en image bmp Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Cryptage d'un texte Ascii en image bmp Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Cryptage d'un texte Ascii en image bmp Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Cryptage d'un texte Ascii en image bmp Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Cryptage d'un texte Ascii en image bmp Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Cryptage d'un texte Ascii en image bmp Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Cryptage d'un texte Ascii en image bmp Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Cryptage d'un texte Ascii en image bmp Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Cryptage d'un texte Ascii en image bmp Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-55%
Le deal à ne pas rater :
Friteuse sans huile – PHILIPS – Airfryer HD9200/90 Série 3000
49.99 € 109.99 €
Voir le deal

 

 Cryptage d'un texte Ascii en image bmp

Aller en bas 
4 participants
AuteurMessage
JL35




Nombre de messages : 7112
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 : 7017
Age : 74
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 : 7112
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 : 7112
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 : 2747
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 : 7112
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 : 4570
Age : 58
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 : 7112
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
-
» Texte sur image
» Camoufler un fichier texte dans une 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: