Pages : 1
#1 Le 07/02/2010, à 17:18
- Tomzz
Imagmagik positionnement
Bonjour,
J'ai fais un petit script nautilus basé sur imagmagik pour mettre en forme rapidement des images afin de les insérer sur un site web (oscommerce en l'occurrence).
Le but étant d'obtenir des images ayant toujours la même dimension en respectant les proportions d'origine.
Donc, dans le cas où les proportions d'origines ne permettent pas d'atteindre les dimensions souhaitées ( orientation Paysage dans un mode portrait par exemple) la plus grande dimension est réduite vers la plus grande cible, la plus petite réduite en proportion et un fond vient remplir la partie manquante à la petite dimension pour atteindre la taille cible.
Mon problème est que l'image redimensionnée est placée à partir du coin supérieur gauche de l'image totale:
ou
hors je souhaiterai qu'elle soit centrée (verticalement et horizontalement).
Voilà les lignes que j'utilise:
convert "$imag1" -resize 300x400 -strip -quality 50 -interlace line "$image"
convert -page 300x400 "$image" -coalesce "$image"
et le script complet, si il peut être utile à quelqu'un:
#!/bin/bash
printf %s "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" |
while read -r arg
do
## traitement des espaces et caractères spéciaux dans le nom de fichier ##
detox -v -s utf_8 "$arg" > /tmp/img.txt
if [ $(wc -l /tmp/img.txt | cut -d' ' -f1) -gt "1" ]; then
{
tail --lines=1 /tmp/img.txt > /tmp/img1.txt
varg=$(cat /tmp/img1.txt | cut -d'>' -f2 | sed 's/ //g')
echo "$varg" > /tmp/img2.txt
imag1=$(cat /tmp/img2.txt | sed 's/ //g')
image="${imag1##*/}.jpg"
rm /tmp/img.txt
rm /tmp/img1.txt
rm /tmp/img2.txt
}
else
{
imag1="$1"
image="$1".jpg
}
fi
## redimentionnement et conversion de l'image ##
convert "$imag1" -resize 300x400 -strip -quality 50 -interlace line "$image"
convert -page 300x400 "$image" -coalesce "$image"
mv "$image" $HOME/fichiers-web/images-pretes/"$image"
done
Dernière modification par Tomzz (Le 07/02/2010, à 17:20)
Hors ligne
#2 Le 08/02/2010, à 15:13
- Tomzz
Re : Imagmagik positionnement
Un p'tit up
Hors ligne
#3 Le 10/02/2010, à 23:18
- Tomzz
Re : Imagmagik positionnement
Personne n'a d'idée ?
Hors ligne
#4 Le 11/02/2010, à 09:09
- CasseTaTele
Re : Imagmagik positionnement
Salut,
c'est un peu bizarre de laisser autant de blanc sur des images, mais bon, en cherchant un peu j'ai trouvé ça sur le man de convert:
-page <width>x<height>{+-}<x offset>{+-
}<y offset>{%}{!}{<}{>}
preferred size and location of an image canvas.
Use this option to specify the dimensions of the
Postscript page in dots per inch or a TEXT page in pix-
els.
ici:
http://amath.colorado.edu/computing/sof … nvert.html
je pense qu'avec l'option offset tu peux peut-être centrer ton image mais il faut que l'offset dépende de la taille de l'image. Il y a aussi cet option offset sur l'option "-size".
Je n'ai pas essayé mais essaye de jouer avec cet offset, déjà en mettant un offset manuel fixe pour voir si ça décale bien l'image. Puis si ça marche, essaye de calculer cet offset en fonction de la taille.
Dernière modification par CasseTaTele (Le 11/02/2010, à 09:11)
Hors ligne