#1 Le 03/08/2009, à 10:52
- GuyKPADJIK
[résolu] ImageMagick: Resize particulier, centrage et background
Bonjour à tous,
je cherche à faire quelque avec ImageMagick que je dois être le seul à vouloir faire parce que je ne trouve rien sur Google ou sur le forum.
Je voudrais redimensionner des images à une dimension précise (1440x900 dans mon cas):
- si l'image est plus grande, je veux diminuer la taille de l'image en gardant les proportions
- si l'image est plus petite, je ne veux pas l'agrandir
- dans les deux cas, je veux que le fond soit noir et l'image centrée:
- si l'image était plus grande, qu'elle a été rétrécie mais que les proportions ne correspondent pas à du 1440x900, il y aura donc un peu d'espace sur les cotés gauche/droite ou haut/bas
- si l'image était plus petite, il y a donc de l'espace sur les cotés gauche/droite et/ou haut/bas
J'ai réussi avec la commande suivante à redimensionner et à mettre le noir autour de mon image mais les images plus petite sont étirées (à cause d'extent) et donc, la qualité est moins bonne:
convert /path/image/source -resize 1440x900 -background black -gravity center -extent 1440x900 /path/image/dest
Si j'enlève extent, les petites images restent à leur taille...
Quelqu'un peut m'aider ?
Dernière modification par GuyKPADJIK (Le 03/08/2009, à 17:57)
Hors ligne
#2 Le 03/08/2009, à 11:42
- loutre
Re : [résolu] ImageMagick: Resize particulier, centrage et background
Je ne t'apporte pas la solution, je n'ai ni imagemagick ni de terminal à portée de main
À mon avis, il faudrait faire un script plus évolué en conditionnant le traitement d'imagemagick par la taille de l'image. Celle-ci devrait être donnée par les données EXIF, retournée par la commande "identify" (voir le manuel de cette commande - l'option -size geometry renvoie les dimensions de l'image).
edit : voici un exemple de script évolué : http://www.posteet.com/view/1021. Il renomme les images selon les données EXIF. Tu peux t'en inspirer en partie.
Dernière modification par loutre (Le 03/08/2009, à 11:50)
=°.°=
J'ai éprouvé l'irrésistible désir d'aller porter ma jeune existence au-delà de l'horizon, là où l'espace et le vent offrent à l'homme une dimension que je voyais comme une éternité palpable. Mes blogs [url=http://[Merci de relire les règles]/d6wsyxp]au Tchad[/url], vers Compostelle.
Hors ligne
#3 Le 03/08/2009, à 11:53
- GuyKPADJIK
Re : [résolu] ImageMagick: Resize particulier, centrage et background
Même en faisant comme ça, je ne sais pas créer une image de la taille voulue sans redimensionner l'image source et en mettant un fond tout autour de l'image source centrée.
Hors ligne
#4 Le 03/08/2009, à 11:57
- loutre
Re : [résolu] ImageMagick: Resize particulier, centrage et background
Tu trouveras peut-être ici ton bonheur : http://linuxfr.org/forums/31/26738.html.
Cette commande ne redimensionne que si l'image DSCN4426 a une hauteur supérieure à 450 :
identify DSCN4426.jpg | perl -ne 'if(/(\d+)x(\d+)/) { if ($1 > 450) { `convert -resize 450x DSCN4426.jpg DSCN4426-resized.jpg` } }' && identify DSCN4426-resized.jpg
=°.°=
J'ai éprouvé l'irrésistible désir d'aller porter ma jeune existence au-delà de l'horizon, là où l'espace et le vent offrent à l'homme une dimension que je voyais comme une éternité palpable. Mes blogs [url=http://[Merci de relire les règles]/d6wsyxp]au Tchad[/url], vers Compostelle.
Hors ligne
#5 Le 03/08/2009, à 17:18
- GuyKPADJIK
Re : [résolu] ImageMagick: Resize particulier, centrage et background
ben non, c'est pas ce que je veux non plus.
L'image finale doit être de la taille voulue (1440x900), c'est juste qu'il faut compléter par un fond noir et centrer l'image.
exemples:
- image de 1920x1200: resize en 1440x900. En gardant les proportions, ca donne pil poil 1440x900 (ca, j'arrive à le faire avec la commande donnée plus haut)
- image de 1600x1200: resize en 1440x900. En gardant les proportions, ca donne du 1200x900, il faut donc centrer horizontalement l'image et rajouter du noir sur les cotés gauche et droit (la commande donnée plus haut sait aussi le faire)
- image de 1440x900, rien à faire (c'est ok)
- image de 1024x768, pas de resize, mais il faut compléter l'image sur les 4 bords avec du noir pour former une image de 1440x900 tout en la centrant
En résumé, il n'y a que le cas d'une image plus petite où il faut compléter par un fond en fonction de la taille d'origine que je ne sais pas faire
Hors ligne
#6 Le 03/08/2009, à 17:56
- GuyKPADJIK
Re : [résolu] ImageMagick: Resize particulier, centrage et background
Bon, ben j'ai trouvé
convert -resize "1440x900>" /path/image/source -gravity center -crop 1440x900+0+0\! -background black -flatten /path/image/test
Hors ligne
#7 Le 03/08/2009, à 18:20
- loutre
Re : [résolu] ImageMagick: Resize particulier, centrage et background
Bien joué, je note l'astuce, ça m'intéresse !
=°.°=
J'ai éprouvé l'irrésistible désir d'aller porter ma jeune existence au-delà de l'horizon, là où l'espace et le vent offrent à l'homme une dimension que je voyais comme une éternité palpable. Mes blogs [url=http://[Merci de relire les règles]/d6wsyxp]au Tchad[/url], vers Compostelle.
Hors ligne
#8 Le 09/03/2011, à 20:16
- JeanNono
Re : [résolu] ImageMagick: Resize particulier, centrage et background
Bonjour,
Je cherchais exactement cela, merci pour ce super travail.
A bientôt, Jean-Nono:cool:
1981 : Atom Acorn 1Mhz 12 Kio Ram - 1986 : PC 8086 4,77 Mhz - 1990 ; PCAT 386 - 2000 ; Pc 586 de compète...
2008 : Ubuntu puis Debian 6.0 et Gnome 2 sur Aspire One 150 à 1.6 Ghz 32 bits qui fonctionne toujours.
2013 - Linux MINT 13 Maya sur Aspire V5 à 1,0 Ghz 64 btis plus rapide !
L'important c'est le partage et l'échange...
Hors ligne