Connexion

Récupérer mon mot de passe

Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 21 le Jeu 17 Oct 2013, 13:40
Derniers sujets
Flux RSS



Flag Counter
Partenaires

Les commandes HEX2RGB.BAT et RGB2HEX.BAT

Voir le sujet précédent Voir le sujet suivant Aller en bas

Les commandes HEX2RGB.BAT et RGB2HEX.BAT

Message par Sachadee le Jeu 31 Oct 2013, 23:22

Pour créer certain filtre il est préferable de travailler sur les valeurs R G B des pixels plutôt que sur la valeur Hexa.
Exemple le filtre Niveau_de_gris, où l'on l'on applique un calcul sur les 3 valeurs R G B pour avoir la valeur du gris à utilisé.
Que l'on retransforme en Hexa ensuite.

Voici le code batch de ces 2 commandes.

Je vous conseille de les introduire directement dans le code de vos filtres pour éviter des traitements en plusieurs passes.

Hex2RGB.bat ;

Code:
@echo off&cls
setlocal enabledelayedexpansion
set $c=0
:::HEX TO RGB
for /f "delims=" %%a in (%1) do (
           if !$c! equ 0 echo %%a;FILTRE HEX2RGB-SachaDee;>PixelRGB.txt
                if !$c! neq 0 (cls
                    Echo HEX2RGB Traitement Pixel No : !$c!
                                set $t=%%a
                                set /a R=0x!$t:~0,2!
                                set /a G=0x!$t:~2,2!
                                set /a B=0x!$t:~4,2!
                                echo !R! !G! !B!>>pixelRGB.txt)
                                   set /a $c+=1)
Et la commande inverse RGB2HEX.bat


Code:
@echo off&cls
setlocal enabledelayedexpansion


set $c=0
:::HEX TO RGB
for /f "delims=" %%a in (%1) do (
          if !$c! equ 0 echo %%a;FILTRE RGB2HEX-SachaDee;>RGB2HEX.txt
              if !$c! neq 0 (cls
                   Echo RGB2HEX Traitement Pixel No : !$c!
                   set $t=%%a
                   call:tr1)
                       set /a $c+=1)

exit /b

:::CREDIT DARKBATCHER

:tr1
set $Hextot=
for %%b in (!$t!) do (call:HEX %%b
                     set $hextot=!$hextot!!hex_return:~-2!)
echo !$hextot!FF>>RGB2HEX.txt
goto:eof

:HEX
SET CNombreDec=%1
SET HEX_RETURN=
FOR %%B IN (4096, 256, 16, 1) DO (
SET /a CQuad=!CNombreDec!/%%B
SET /a CNombreDec=!CnombreDec!%%%%B
SET i=10
FOR %%C IN (A B C D E F) DO (
IF "!i!"=="!CQuad!" (
SET Cquad=%%C
)
SET /a i+=1
)
SET HEX_RETURN=!HEX_RETURN!!CQuad!
)
:: on retourne le résultat
GOTO:EOF
Ces 2 commandes seront inutiles dans un futur proche. Elle seront intégrées dans et gérées automatiquement
par les nouvelles version de PNG2HEX.EXE et HEX2PNG.EXE

_________________
@SachaDee
avatar
Sachadee
Admin
Admin

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

http://bbat.forumeiro.com

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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