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 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 29 Jan 2020, 10:53
Derniers sujets
Flux RSS



Flag Counter
Partenaires
-30%
Le deal à ne pas rater :
Nike Air Max Exosense SE
87.47 € 124.99 €
Voir le deal

Les commandes HEX2RGB.BAT et RGB2HEX.BAT

Aller en bas

Les commandes HEX2RGB.BAT et RGB2HEX.BAT Empty Les commandes HEX2RGB.BAT et RGB2HEX.BAT

Message par Sachadee 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
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


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