Bonjour, voila j'ai un repertoire qui contient des centaines de photos, aussi bien en jpeg qu'en bmp. Je cherche une solution pour convertir automatiquement les bmp en jpg.
merci d'avance
Bonjour, voila j'ai un repertoire qui contient des centaines de photos, aussi bien en jpeg qu'en bmp. Je cherche une solution pour convertir automatiquement les bmp en jpg.
merci d'avance
Bonjour,
Je te propose une solution basee sur xargs et convert :
xargs est installer de base sur une distribution linux/unix et convert est une commande du package ImageMagic.
Bien sur tu peux modifier la taille des images, ajouter un copyright etc ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part ls *.bmp | xargs -i basename \{\} .bmp | xargs -i convert -verbose \{\}.bmp \{\}.jpg
Pour plus de detailes : man convert.
Et pour en savoir plus sur la commande xargs je te propose de lire ce petit tutoriel en anglais : http://unix.about.com/library/weekly/aa082001c.htm
Voila
Merci pour cette reponse, je vais m'y mettre !
Cette commande m'amene cette réponse :" convert: Missing an image filename."
autant de fois que j'ai de fichiers;
Ou est le probleme ?
Tu as des fichiers ".bmp" dans le repertoire courant? (.bmp et non .BMP attention a la case).
Oui, tout à fait, des ".bmp" par dizaines..
Ca peux venir de ton shell mais j'ai verifier avec plusieurs shell et ca pass sans probleme :
Tu a quel version de xargs?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 TuX:/goinfre> ls arf.bmp arf.bmp TuX:/goinfre> ls *.bmp | xargs -i basename \{\} .bmp | xargs -i convert -verbose \{\}.bmp \{\}.jpg arf.bmp BMP 256x256+0+0 DirectClass 8-bit 192.1kb 0.000u 0:01 arf.bmp=>arf.jpg JPG 256x256+0+0 DirectClass 8-bit 1.9kb 0.010u 0:01 TuX:/goinfre> ls arf.jpg arf.jpg
Ton ls n'as pas un alias sur ls ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $xargs --version GNU xargs version 4.1.20 convert -version Version: ImageMagick 5.5.7 06/10/03 Q16 http://www.imagemagick.org Copyright: Copyright (C) 2003 ImageMagick Studio LLC
Les versions:
ls - GNU fileutils- 3.13
xargs ge GNU version 4.1.7
convert: Version: ImageMagick 5.5.4 02/01/03 Q16 http://www.imagemagick.org
En parcourant la toile j'ai finalement déniché un petit scrip qui marche tres bien:
Le petit inconvénient c'est qu'il me faut dans unpremier temps déplacer mes bmp dans un dossier temporaire, exécuter ce script, supprimer les .bmp et réintégrer le dossier original.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #!/bin/sh clear echo " --------------" echo " de bmp a jpg " echo " --------------" for fic in `ls *.bmp` do echo "-------------------------------------" echo "Traitement de " $fic newtit=`gawk -v tit=$fic '{ if(FNR==1){ gsub("bmp","jpg",tit) print tit } }' $fic` if [ ! -s ${newtit} ] ; then echo " o conversion de bmp en jpg " convert $fic $fic.jpg echo " o copie vers le fichier "$newtit mv $fic.jpg $newtit else echo "*** Fichier "$newtit" deja existant" fi done
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager