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 24 le Ven 15 Déc 2017, 23:28
Derniers sujets
Flux RSS



Flag Counter
Partenaires

Les commandes HEX2RGB.BAT et RGB2HEX.BAT

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

Revenir en haut

- Sujets similaires

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