BBAT BATCH ON-LINE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Connexion

Récupérer mon mot de passe

Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités :: 1 Moteur de recherche

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 29 Jan 2020, 10:53
Derniers sujets
» [StackOverflow] Batch to Create video .srt Subtitles with right timing
La commande externe PNG2HEX EmptyVen 25 Déc 2015, 14:17 par Sachadee

» [devellopez] Formater une date en ligne Dos
La commande externe PNG2HEX EmptyVen 31 Juil 2015, 10:40 par Dylan Gadacha

» Un super Tuto Batch de IniTScreen
La commande externe PNG2HEX EmptyLun 08 Juin 2015, 12:16 par InitScreen

» Un code MATRIX sympa
La commande externe PNG2HEX EmptyDim 12 Avr 2015, 14:27 par Sachadee

» [BAT/EXE] DresolChange changer la sesolution de l´écran
La commande externe PNG2HEX EmptyMar 17 Mar 2015, 09:12 par Sachadee

» [EXE/bat] DpScript Código Delphi interpreter
La commande externe PNG2HEX EmptyJeu 12 Mar 2015, 15:48 par Sachadee

» Externo SaveDlg com 2 kb
La commande externe PNG2HEX EmptyDim 15 Fév 2015, 12:20 par Sachadee

» présentation
La commande externe PNG2HEX EmptyDim 15 Fév 2015, 12:14 par Sachadee

» [developpez.com] Transcodage fichier vidéo si fichier déposé
La commande externe PNG2HEX EmptyMar 03 Fév 2015, 01:02 par Sachadee

Flux RSS



Flag Counter
Partenaires
-29%
Le deal à ne pas rater :
PC portable Gamer ERAZER DEPUTY P60 – 15,6” FHD 144Hz – i7-12è ...
999.99 € 1399.99 €
Voir le deal

La commande externe PNG2HEX

Aller en bas

La commande externe PNG2HEX Empty La commande externe PNG2HEX

Message par Sachadee Jeu 31 Oct 2013, 18:44

La commande PNG2HEX.EXE vous permet de décompacter sous forme Hexadecimal un fichier de type : [GIF,BMP,JPEG,PNG]
et d'avoir en sortie un fichier en mode tesxte (ASCII) Avec la valeur de chaque pixel.

Vous pouvez ensuite creer vos filtres de transformation de l'image, vos filtres d'affichage ASCII (ASCIIART), ou n'importe quel traitement utile
sur une image.

Utilisation : PNG2HEX.EXE [Nom_du_fichier{GIF,BMP,JPEG,PNG}]

Sortie : Testpixel.txt

Pendant le temps du traitement de PNG2HEX.EXE sur votre image l'image s'affiche à l'écran.

La première ligne de ce fichier (Testpixel.txt)  contient les éléments pour la reconstruction futur du fichier (taille du fichier, etc..) après traitement.

Si votre but n'est pas de reconstruire un fichier graphique après traitement (AsciiArt par exemple) vous pouvez supprimer cette ligne.

L'utilité de cette ligne est décrite dans la CONVENTION DE CRÉATION DE FILTRE


Exemple d'utilisation possible : Vous voulez une representation ASCII de ce fichier image :

La commande externe PNG2HEX 132522WWF

Vous la traiter avec PNG2HEX.EXE qui va vous générer le fichier "testpixel.txt" contenant toutes les valeurs Hexdécimal de votre WWF.GIF
sous cette forme :

testpixel.txt

Code:
87;70;wwf.png;6090;By SachaDee -2013-
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
...
Vous voyez que sur la première ligne il y a les infos importantes pour une reconstruction (éventuel) dans le futur.
Si vous créer un filtre pour agrandir ou rétrecir une image il est clair que ces infos devront être modifié en fonction.

Vous voyez également que même que nous avons travailler sur un fichier [GIF] le nom de fichier pour la reconstruction sera du [PNG]

Un POINT IMPORTANT ! Vous allez me demander pourquoi y a t'il 4 valeurs en sortie (FF FF FF FF) alors que
nous travaillons sur 3 bits (R G B) en fait le dernier bits est là pour le traitement de la transparence de l'image (PNG)
par défaut je la laisse à FF (normal) si vous voulez utiliser la transparence sur votre image positionnez cette valeur à 00 (FFFFFF00)


A voir dans les versions futures si l'on permet la reconstruction en d'autres format. [Edit : Implementé V1.3]

Des commandes externes pour l'aide à la création de filtres sont en cours de réalisation Un visualiseur rapide entre autre...


Donc maintenant que nous avons ce fichier "Testpixel.txt" qui contient toutes les valeurs Hexa de chaque pixel de notre image initiale et que nous connaissons la taille de l'image (1ere "ligne de testpixel.txt") 87x70 dans notre cas, nous pouvons imaginer une petite routine en BAT qui
va récupérer chaque pixel et faire un traitement dessus.

Dans notre cas nous voulons créer une representation ASCII de notre fichier Noir et Blanc (j'ai fait simple pour commencer) donc il nous suffit
de rechercher toutes les valeurs Hexa qui corresponde à la couleur Blanche (FFFFFFFF) et de la remplacer par un "." dans notre cas.
Tout ce qui n'est pas égal à Blanc sera intèrpreter comme Noire donc remplacer avec un "x".

Il faut naturellement compter la valeur de pixel en X pour reconstruir l'image (logique) dans ce cas.

Voici le premier filtre de traitement -->Ascii qui fait cela à merveille

Hex2Ascii-.x.bat

Code:
:::Hex2Ascii-.X.bat
:::By SachaDee 2013
@ECHO OFF
setlocal enabledelayedexpansion
mode 100,80

if exist tempo.txt del tempo.txt
set /p $Ligne0=<testpixel.txt
set $ligne0=%$ligne0:;= %
set $c=1
for %%a in (%$ligne0%) do (if !$c! equ 1 set "$XPos=%%a"
                           if !$c! equ 2 set "$YPos=%%a"
                            set /a $c+=1)


set $c=0
set $x=0
set $pix=
set $ligne=

for /f "delims=" %%a in (testpixel.txt) do (set $#=%%a
              if !$c! NEQ 0 (
                if !$x!==!$Xpos! (if defined $ligne (echo !$ligne:~1!>>tempo.txt
                                                     set $ligne=)
                                  set /a $x=0)
                                  if not !$x!==!$Xpos! (set $pix=X
                                                        if !$#!==FFFFFFFF set $pix=.
                                                        set $ligne=!$ligne!!$pix!)
                                   set /a $x+=1)
                              set /a $c+=1)


echo.
type tempo.txt

pause
mode 80,40
endlocal

A l'éxecution de ce filtre il sera créer un fixhier tempo.txt qui va contenir la representation ASCII de notre GIF initiale.

La commande externe PNG2HEX 369048WWF


Voilà vous venez de faire le premier pas dans un monde sans limite qu'est le traitement de l'image.


Nous allons aborder dans le prochain sujet la reconstruction d'une image modfié....


Par @SachaDee (c) 2013
Sachadee
Sachadee
Admin
Admin

Mensagens : 591
Data de inscrição : 04/06/2013

https://bbat.forumeiro.com

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum