Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[HEX2PNG] DOC ET TUTO !
Auteur Message
Répondre en citant
Message [HEX2PNG] DOC ET TUTO ! 
La commande externe HEX2PNG.EXE vous permets de reconstruire une image [PNG] à partir d'un fichier texte contenant les valeurs hexadecimal de chaque pixel.

Download : https://goo.gl/614NH8

Le fichier contenant les valeurs hexa à reconstruire doit avoir le format suvant :

sur la première ligne la structure suivante:

200;200;test.png;40000

premier champs = largeur en pixel du fichier à reconstruire
2eme champs = Hauteur en pixel du fichier à reconstruire
3 eme champs = Nom [png] du fichier à reconstruire
4eme champs le nb total de pixel du fichier image (champs1 x champs2)

Utilisation : HEX2PNG.EXE Fichier_HEXA.txt

Sortie : Sortie.png.

A son lancement une fenetre avec le % de traitement et le nombre de pixel traité est affiché.



Exemple D'une application possible de HEX2PNG.EXE


Nous avons LE superbe ASCIIART suivant :



Dragon.txt

Code:

..........................................................................................
..........................................................................................
..........................................................................................
.............................................I............................................
.............................................i............................................
.........................................$i..$i.....i.....................................
.........................................tss.$ss...sl.....................................
.................................i......ss$$$$$$$$$$si....................................
.................................$..s$$$$$$$$$$$$$$$$$Ss..................................
.................................t$$$$$$$$$$$$$$$$$$o$$$.......i..........................
................................s$$$$$$$$$$$$$$$$$$$$$$$$si..is...........................
...............................s$$$$$$$$$t$$$$$$tttt$$$$$$t$$$$$i.........................
...............................s$$$$$$$$$$stt$$$$sssssst$$$$$$$$t.........................
..............................s$$$$$$$$$$l.........$tttsst$t$stt..........................
..............................s$$$$$$$$$$i..............$ttttt$...s$$s....................
..............................s$$$$$$$$$$$$si..................$s$$l..$...................
..........................$ssss$$$$$$$$$$$$$$$$$$$$####s.......$$t$....i.s................
............................$tttt$$$$$$$$$$$$$$$$$$$$#####$$$$$$t.....$.$i................
..................................t$$$$$$$$$$$$$$$$$$$$$####stt......$$$..................
...................................t$$$$$$$$$$$$$$$$$$$$$$$$##s.....$$t.$.................
....................................$$tt$$$$$$$$$$$$$$$$$$$$$$$$$$$$$t...i................
...................................$$t..t$t$$$$$$$$$$$$$$$$$$$$Sttttl.....................
..............................i...it.....l..$$$$$$$$$$$$$$$$####s.........................
..............................$............s$$$$$$$$$$$$$$$$$####t........................
..................i...........t$s......ssS$$$$$$$$$$$$$$$$$$$####t........................
..................$............$$$S$$$$$$$$$$$$$$$$$$$$$$$$#####t.........................
..................Ss.......sS$$$$$$$$$$$$$$$$$$$$$$$$$$$######tt..........................
...................t$$sS$$$$$$$$$$$$$$$$$$$$$$$$$$$########t..............................
............i......s$$$$$$$$$$$$$$$$$$$$$$$$#########ttl..................................
............$....s$$$$$$$$$$$$$$$$$$$$$#######ttl......sl.........i.......................
............$$..$$$$$$$$$$$$$$$$$$######tl......ssssS$$$$$$$$i$...........................
.............t$$$$$$$$$$$$$$$######tl........sS$$$$$$$$$$$$$$$$$$$........................
...............$$$$$$$$$$$$#####t.........s$$$$$$$$$$$$$$$$$$$$$$$$s......................
..............$$$$$$$$$$$#####l......$$$$$$$$$$###########$$$$$$$$$$$.....................
...[[..........$$$$$$$$$$$#####.......$$$$$$$$###t.......t####$$$$$$$$$$..................
...].].........$$$$$$$$$$$$####......$$$$$$###t.............t###$$$$$$$$$...sl............
..[...]........$$$$$$$$$$$$$####....$$$$$###t................####$$$$$$$$s$$l.............
....[.[.......$$t$$$$$$$$$$$#####.$$$$$###l.................###$$$$$$$$$$t................
..[........i$t...$$$$$$$$$$$$######.$$##l.................###$$$$$$$$$$...................
...[..[.]..........t$$$$$$$$$$$$$#######iii.............####$$$$$$$$$$$t..................
.[...]$.]..........i$$$$$$$$$$$$$$$$$$####################$$$$$$$$$$$t....................
.[...[$$..[.]......sSt..$t$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$S$$i...................
....$$$s.].].............$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$tl..$$$....................
...[...$$$Ss...$i.....$iis$$$$$$##S$$$$$$$$$$$$$$$$$$$$$$$$Stt........l...................
.....]].$$$$$$$$$$$$$$$$$$$$$$$##t..$$........$$$.........$$$.............................
.........$tS$$$$$$$$$$$$$$$$$#t......$..........$$..........$$............................
.............$tttttttttttttl.........l...........l...........l............................
..........................................................................................
..........................................................................................
..........................................................................................


Et nous aimerions avoir cette petite image en mode graphique.

Nous allons donc definir un algorithme qui va remplacer chaque type de caractère par une couleur :

Ici je fait une simple substitution en bat (pas conseiller, mais ceçi est un exemple).



@echo off
set $fichier=dragao.txt
set $taille=90;50
set $TotPix=4500
set $Fsortie=dragao.png


:::Crátion de la première ligne de sortie.txt
:::(Largeur_pixel;Hauteur_pixel;Nom_fichier.PNG;Nombre_Total_pixel)

echo %$taille%;%$Fsortie%;%$TotPix%>testpixel.txt

setlocal enabledelayedexpansion


for /f "delims=" %%a in ('type %$fichier%') do (
echo %%a
set $ligne=%%a
set $ligne=!$ligne:.=FFFFFFFF !
set $ligne=!$ligne:o=000000FF !
set $ligne=!$ligne:i=000000FF !
set $ligne=!$ligne:l=FFFF00FF !
set $ligne=!$ligne:t=FFA500FF !
set $ligne=!$ligne:#=150088FF !
set $ligne=!$ligne:c=00000000 !
set $ligne=!$ligne:[=00FFAD00 !
set $ligne=!$ligne:]=00000000 !
set $ligne=!$ligne:$=241CEDFF !
set $ligne=!$ligne:s=0EC9FFFF !
set /a $c+=1
for %%b in (!$ligne!) do (echo %%b>>testpixel.txt))
endlocal

Donc comme vous le voyez je fais une substitution du "." par du Blanc "FFFFFFFF"
du "$" par du rouge "241CEDFF" etc...

La première ligne à été créer avec les infos de notre image il faut compter les pixels horizontale et verticale
(1 carctere = 1 pixel) en commençant à 0.


On sortie nous avons donc "Testpixel.txt" avec une representation Hexa de notre fichier Ascii.

testpixel.txt

90;50;dragao.png;4500
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
...
Voilà notre fichier Hexa est prêt à être traité par HEX2PNG.EXE

En sortie nous obtenons :

Ce mignon petit dragon rouge en PNG :





Si on agrandie l'image et que l'on regarde pixel par pixel on voit bien la relation Carctère\couleur du traitement (très simpliste d'ailleurs)




Voilà une des infinies possibilitées d'utilisation de cette petite perle....

Tous ces fichiers ce trouve dans le Zip de download dans la section DOWNLOAD.



VOTRE PREMIÈRE IMAGE AVEC HEX2PNG

1- Creer un fichier test.txt

2- Nous allons creer une image (un carré blanc) qui aura une dimension de 100x100 pixel
Nous allons donc simuler chaque pixel par un point (pour commencer).
Donc : 100 "." sur 100 lignes :

Code:

......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................
......................................................................................................


Nous avons donc une representation ASCII de notre image finale.

Mais nous savons que HEX2PNG.EXE ne va pas accepter cette image sous ce format. Il veut des valeurs HEXADECIMAL et chaque valeur sur une ligne et la première ligne doit contenir les information relative à la reconstruction de l'image.

Donc nous allons creer un petit batch qui va nous faire ce traitement. Comme nous allons creer un carré blanc
nous allons simplement remplacer chaque point par la valeur HEXADECIMAL de la couleur blanche FFFFFF (255 255 255 en RGB) et nous allons rajouter le bit de transparence au bout (FF ou 00).

Donc notre point doit être substitué par FFFFFFFF et chaque valeur sur une ligne nous aurons donc en sortie un fichier de 10000 ligne (+ la première ligne d'information) avec sur chaque ligne la valeur FFFFFFFF.

Traite.bat :

@echo off
Echo Traitement en cours patientez....

:::Les variables

:::Le nom du fichier ASCII (test.txt)

set $fichier=test.txt

::La taille de l'image (100x100)

set $taille=100;100

::Le totale de pixel (100x100=10000)

set $TotPix=10000

::Le nom de l'image (Hex2PNG cree automatiquement un fichier sortie.png)

set $Fsortie=Sortie.png


::Nous créons la première ligne de notre fichier au format Hex2png (testpixel.txt)

echo %$taille%;%$Fsortie%;%$TotPix%>testpixel.txt

setlocal enabledelayedexpansion


:::Nous allon remplacer tout les points par FFFFFFFF
:::et mettre la valeur dans une liste et ecrire
:::et ensuite extraire les valeurs une par une de la liste
:::et les écrire dans notre fichier testpixel.txt

:::Très simple...

for /f "delims=" %%a in ('type %$fichier%') do (
set $ligne=%%a
set $ligne=!$ligne:.=FFFFFFFF !
for %%b in (!$ligne!) do (echo %%b>>testpixel.txt))
endlocal

:::Et on lance la construction de l'image

HEX2PNG.EXE testpixel.txt
Et voilà vous avez créer un splendide carré blanc.


Nous allons mettre un peu de couleur en créant un cadre à notre carré. Pour cela nous allons creer d'autre élements à notre image ascii (x b et c)

X sera - Noir
b sera - Rouge
c sera - Jaune

Code:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxxxx
xxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxxxx
xxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxxxx
xxxxbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbxxxx
xxxxbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbxxxx
xxxxbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbcccc............................................................................ccccbbbbxxxx
xxxxbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbxxxx
xxxxbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbxxxx
xxxxbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbbbxxxx
xxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxxxx
xxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxxxx
xxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx





Nous devon bien sûr également modifier notre traite.bat pour qu'il tienne compte de ces nouvelles données.


Ici nous allons utilisé la substitution. Mais ce n'est pas la bonne méthode. Il vaut mieux faire un traitement litéral sur

la valeur. pour éviter les erreurs. Car si vous substituer un "x" par "FFCCFFFF" et que ensuite vous avez un caractère

"C" à remplacer par une valeur il va y avoir conflit et au final vous aurez des valeurs Hexa du genre "FFFFBB00FFFAAF"

ce qui génerera une image completement faussé.

partie modifié de traite.bat


for /f "delims=" %%a in ('type %$fichier%') do (
set $ligne=%%a
set $ligne=!$ligne:.=FFFFFFFF !
set $ligne=!$ligne:c=0EC9FFFF !
set $ligne=!$ligne:x=000000FF !
set $ligne=!$ligne:b=241CEDFF !
for %%b in (!$ligne!) do (echo %%b>>testpixel.txt))


Voilà nous avons maintenant un carré blanc entouré d'un cadre en couleur :




A vous de nous céer de génials filtres pour nos images......

Voici les couleurs de base en Hexa pour vous aider à commencer (n'oublier pas de rajouter FF à la fin pour la reconstruction).

Bleu gris = BE9270
Bleu ciel = EAD999
Bleu Marine = CC483F
Bleu = E8A200
Bordeaux = 150088
Brun = 577AB9
gris clair = C3C3C3
gris foncé = 7F7F7F
jaune pale = B0E4EF
jaune = 00F2FF
Orange clair = 0EC9FF
Orange = 277FFF
Rose = C9AEFF
Rouge = 241CED
Vert Clair = 1DE6B5
Vert foncé = 4CB122
Violet clair = E7BFC8
Violet foncé = A449A3


@SachaDee (c) 2013




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message Publicité 
PublicitéSupprimer les publicités ?


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch