Bonjour,
J’utilise Xnconvert qui satisfait mon besoin personnel.
Cependant je voudrais écrire un script autonome (sans devoir installer un logiciel, juste avec nconvert.exe et eventuellement une dll) pour des adhérents d’un club photo (encore plus debutants) qui ferait la chose suivante.
En deposant une photo ou un repertoire contenant des photos sur le .bat ce dernier redimensionne les photos en 1920px grand côté, compression 80% reechantillonné Lancoz puis renomme les sorties en ajoutant _1920 au nom dans le même répertoire
Est-ce possible ”simplement” avec nconvert?
merci
DéHème
Question de debutant
Moderators: XnTriq, helmut, xnview
-
- Author of XnView
- Posts: 40573
- Joined: Mon Oct 13, 2003 7:31 am
- Location: France
Re: Question de debutant
Oui, avez vous essayez de sortir une base de script avec XnConvert?
Pierre.
-
- Posts: 5
- Joined: Tue May 04, 2021 6:01 pm
Re: Question de debutant
Merci,
Bon c'est bon signe "je peux le faire" mais je ne comprends pas bien la suite de votre phrase.
J'ai généré un .bat à partir de Xnconvert (Exporter pour Nconvert),
Code: Select all
nconvert -ratio -rtype lanczos -rflag decr -resize longest 1920
Je ne suis pas au bout de mes peines sans doute, mais suis-je dans la bonne direction?
DéHème
(Veuillez noter que je ne suis pas un spécialiste des lignes de commande mais j'ai fait des scripts avec exiftool, je suppose que c'est le même principe)
-
- Author of XnView
- Posts: 40573
- Joined: Mon Oct 13, 2003 7:31 am
- Location: France
Re: Question de debutant
Oui essayez quelque chose comme
Code: Select all
nconvert -ratio -rtype lanczos -rflag decr -resize longest 1920 -q 80 -o destination\%%_1920 source\*
Pierre.
-
- Posts: 5
- Joined: Tue May 04, 2021 6:01 pm
Re: Question de debutant
Merci Pierre, j'avance :
Pour un répertoire complet :
Pour une image seule :
Ce script permet de glisser déposer répertoire sur le script et l’exécuter (script et nconvert dans le même répertoire, images n'importe où).
Le glisser-déposer fonctionne avec l'explorateur Windows mais ne fonctionne apparemment pas avec l'explorateur Xnview (MP).
Cependant, il convertit les images plus petites et celles déjà converties (lorsque je l’exécute plusieurs fois).
J'aimerai :
- avoir un seul script pour image unique ou répertoire en fonction de ce que l'on dépose sur le script
- ne pas générer les images qui sont déjà <= à 1920 sur leur grande dimension,
- écraser les images qui ont déjà été converties par ce script (car l'original a pu changer entre temps) -> J'ai trouvé l'option -overwrite entre-temps
- Pas sûr qu'il soit utile de compresser à 80% des images dont la qualité originale est moindre (?)
...ensuite je tâcherai de rajouter une commande shell pour disposer de ce script sur clic droit
Daniel
Pour un répertoire complet :
Code: Select all
%~dp0\nconvert.exe -ratio -rtype lanczos -rflag decr -resize longest 1920 -q 80 -o %1\%%_1920 %1\*
Code: Select all
%~dp0\nconvert.exe -ratio -rtype lanczos -rflag decr -resize longest 1920 -q 80 -o %1\%%_1920 %1
Le glisser-déposer fonctionne avec l'explorateur Windows mais ne fonctionne apparemment pas avec l'explorateur Xnview (MP).
Cependant, il convertit les images plus petites et celles déjà converties (lorsque je l’exécute plusieurs fois).
J'aimerai :
- avoir un seul script pour image unique ou répertoire en fonction de ce que l'on dépose sur le script
- ne pas générer les images qui sont déjà <= à 1920 sur leur grande dimension,
- écraser les images qui ont déjà été converties par ce script (car l'original a pu changer entre temps) -> J'ai trouvé l'option -overwrite entre-temps

- Pas sûr qu'il soit utile de compresser à 80% des images dont la qualité originale est moindre (?)
...ensuite je tâcherai de rajouter une commande shell pour disposer de ce script sur clic droit
Daniel
-
- Posts: 5
- Joined: Tue May 04, 2021 6:01 pm
Re: Question de debutant
Bonsoir,
Voici le script simplifié (j'ai enlevé commentaires et les set de variables). J'ai changé de specs et j'envoie les images réduites dans un sous-répertoire.
Tout fonctionne cependant lorsque le répertoire des images contient un répertoire (ce qui est toujours le cas lorsque j’exécute le script une deuxième fois) j'ai un code erreur : Can't open file (C:blabla) sur ce répertoire mais les images sont générées.
Note : j'ai découvert l'option -rflag decr
Note : le glissé/déposé à partir de XnviewMP fonctionne contrairement à ce que j'ai écrit au post précédent
Voici le script simplifié (j'ai enlevé commentaires et les set de variables). J'ai changé de specs et j'envoie les images réduites dans un sous-répertoire.
Tout fonctionne cependant lorsque le répertoire des images contient un répertoire (ce qui est toujours le cas lorsque j’exécute le script une deuxième fois) j'ai un code erreur : Can't open file (C:blabla) sur ce répertoire mais les images sont générées.
Note : j'ai découvert l'option -rflag decr

Note : le glissé/déposé à partir de XnviewMP fonctionne contrairement à ce que j'ai écrit au post précédent
Code: Select all
IF %1=="" (goto :eof)
IF EXIST %1%\* (
%~dp0\nconvert.exe -ratio -overwrite -rtype lanczos -rflag decr -resize longest 1920 -q 80 -o $1920\%%_1920 %1\*.*
)ELSE (
for %%A in (%*) do (
%~dp0\nconvert.exe -ratio -overwrite -rtype lanczos -rflag decr -resize longest 1920 -q 80 -o $1920\%%_1920 %%A
)
)
explorer %1
-
- Posts: 5
- Joined: Tue May 04, 2021 6:01 pm
Re: Question de debutant
Bonsoir,
J'ai trouvé une solution pour éviter l'erreur d'ouverture du répertoire (cf Post ci-dessus) :
à la place de
j'ai mis :
Ça n'est pas très élégant mais ça fonctionne.
Note j'ai aussi remplacé Longueur et qualité par les variables V_L et V_q.
Daniel
J'ai trouvé une solution pour éviter l'erreur d'ouverture du répertoire (cf Post ci-dessus) :
à la place de
Code: Select all
nconvert.exe -ratio -overwrite -rtype lanczos -rflag decr -resize longest 1920 -q 80 -o $1920\%%_1920 %1\*.*
Code: Select all
nconvert.exe -quiet -ratio -overwrite -rtype lanczos -rflag decr -resize longest %V_L% -q %V_q% -o $1920\%%_1920 %1\*.jpg %1\*.jpeg %1\*.png
Note j'ai aussi remplacé Longueur et qualité par les variables V_L et V_q.
Daniel