@echo off @echo ------------------------------------ @echo ------- Cadre simple 900 750 ------- @echo ------------------------------------ rem ----------------- Parametres -------------------------- rem Suffixe et dossier des fichiers finaux set suf_nom=_pix set dossier=pix rem Largeur ou hauteur max finale set /A largeur=900 set /A hauteur=750 rem poids maxi 300 Ko soit 300*1024=307200 octets set /A poids=307200 rem Taille du cadre set /A dte_gche=50 set /A haut_bas=50 rem Taille du tour de l'image set /A tour=1 rem Couleurs (voir liste à l'adresse ci-dessous) rem http://www.imagemagick.org/script/color.php set couleur_tour=opaque set couleur_cadre=white rem Déclalage de la signature rem vert la gauche et le haut par rapport au coin bas droit set /A gche_sign=20 set /A haut_sign=10 set signature=C:\mes_prog\ImageMagick_moi\signature.jpg set /A larg=%largeur%-%dte_gche%-%dte_gche%-%tour%-%tour% set /A haut=%hauteur%-%haut_bas%-%haut_bas%-%tour%-%tour% rem ------------------------------------------------------- for %%f in (%*) do call :Traitement %%f rem pause goto :eof :MajTaille set /A size = %~z1 goto :eof :Traitement setlocal enabledelayedexpansion set /A qual = 105 set /A size = 0 set s="%~d1%~p1%dossier%\%~n1%suf_nom%.jpg" @echo Traitement du fichier %~n1%~x1 @echo (dans %~d1%~p1) if exist "%~d1%~p1"%dossier% goto suite md "%~d1%~p1"%dossier% :suite REM Resize en 900 de coté ou 750 de haut tout en accentuant et transformant en JPEG et gardant les exifs. REM Ne pas oublier de rajouter la conversion d'espace colorimetrique si besoin @echo Redimensionner et Encadrer convert -filter Lanczos -resize %larg%x%haut% -unsharp 0.5x0.3+0.75+0.02 -format JPEG -quality !qual! +profile icm -mattecolor %couleur_tour% -frame %tour%x%tour% -mattecolor %couleur_cadre% -frame %dte_gche%x%haut_bas% %1 %s% @echo Ajout de la signature composite -compose atop -geometry +%gche_sign%+%haut_sign% -gravity SouthEast "%signature%" %s% %s%xxx :while5 set /A qual= !qual! - 5 convert -format JPEG -quality !qual! %s%xxx %s% REM MAJ de la variable contenant la taille du fichier final call :MajTaille %s% REM On refait tant que l'image est trop grosse (plus %size% octets) @echo Essai !qual! %% taille : %size% octets if %size% geq %poids% goto :while5 set /A qual= !qual! +5 :while1 set /A qual= !qual! - 1 convert -format JPEG -quality !qual! %s%xxx %s% REM MAJ de la variable contenant la taille du fichier final call :MajTaille %s% REM On refait tant que l'image est trop grosse ((plus %size% octets) @echo Essai !qual! %% taille : %size% octets if %size% geq %poids% goto :while1 del %s%xxx @echo --------------------------------------------------- endlocal rem Adaptation du script : rem http://forum.hardware.fr/hfr/Photonumerique/Logiciels-Retouche/traitement-imagemagick-convert-sujet_18554_1.htm#t2970095