Sujet: Manipulation d'images avec ImageMagick (Linux/...)

Modérateurs: Modérateurs, Rédacteurs

Poster une réponse

Manipulation d'images avec ImageMagick (Linux/...)

par rfr » Dimanche 28 Décembre 2008 23:18

Bonsoir,

J'ai vu que certains avaient déjà découvert ImageMagick via son utilisation comme plugin d'un autre logiciel.

Mais pour les adeptes de linux et de la ligne de commande, ImageMagick permet aussi de faire ... des cadres (et plein d'autres choses encore ...) ;)

Par exemple, j'utilise cette commande pour traiter mes fichiers images avant de les envoyer:

Code: Tout sélectionner
rfr@iwepslrfr:~/Photos/test$ convert [image source] -resize 800x -quality 90 -fill none -bordercolor black -border 10x10 -stroke white -strokewidth 1 -draw 'rectangle 6,6 813,544' -pointsize 16 -rotate 90 -gravity southwest -geometry -10-10 -annotate +10+10 'F. Rouyre' -rotate -90 [image destination]


Ce que fait cette commande:

-resize 800x : redimensionne l'image en 800x??? (présèrve l'aspect ratio)
-quality : sélectionne la qualité du jpg de sortie (pour avoir une taille qui passe sur ce forum ;) )
-fill none -bordercolor black -border 10x10 : crée un bord noir de 10x10 pixel autour de l'image
-stroke white -strokewidth 1 -draw 'rectangle 6,6 813,544' : crée un filet blanc de 1 pixel dans le cadre
-rotate 90 -gravity southwest -geometry -10-10 -annotate +10+10 'F. Rouyre' -rotate -90 : ajoute le texte F. Rouyre en bas à droite de l'image et verticalement

Il est donc très simple de faire ses conversions en batch à l'aide de ce programme.

Il y a-t-il d'autre utilisateurs de ce logiciel impressionnant?

Photos: 3
rfr

Pi........
Pi........

Messages: 34

Inscription: 25 Déc 2008

Localisation: Namur, Belgique

Objectif 1:

Publicité

par effraie » Dimanche 28 Décembre 2008 23:32

stroke white -strokewidth 1 -draw 'rectangle 6,6 813,544'

comment obtient tu ces valeurs ? chez moi, ça marche avec des images au ration 4:6 exact, pour les autres, c'est raté.. (par exemple, les formats carrés...)

Photos: 143
effraie

Pixelist..
Pixelist..

Messages: 721

Inscription: 10 Jan 2007

Localisation: Paris

Objectif 1:

par rfr » Dimanche 28 Décembre 2008 23:37

effraie a écrit:stroke white -strokewidth 1 -draw 'rectangle 6,6 813,544'

comment obtient tu ces valeurs ? chez moi, ça marche avec des images au ration 4:6 exact, pour les autres, c'est raté.. (par exemple, les formats carrés...)


Oui il est clair que ... le 544 est "problématique" dès qu'on change de format car la hauteur varie suivant le format de l'image originale (respect de l'aspet ratio lors du resize).

Il faut donc recalculer mais ce n'est pas difficile. Il y a même moyen de scripter un peu pour que ça fonctionne tout le temps. Je vais y réfléchir ;)

Photos: 3
rfr

Pi........
Pi........

Messages: 34

Inscription: 25 Déc 2008

Localisation: Namur, Belgique

Objectif 1:

par LeColosse » Lundi 29 Décembre 2008 19:21

Aaaaaaaaaaaaaaaaaaa imagemagik, il y avait un baille que j'avais pas entendu ce nom. A l'epoque c'etait surtout pour afficher les fonds d'ecran sous X.
Mais le sujet m'interesse car je viens de me remettre a Linux et recyclant un vieux portable (clavier en qwerty desole pour les accents).

Je suis preneur pour le script et sinon je chercherais.

Merci de ces infos rfr,

Photos: 468
LeColosse

Pixelistes
Pixelistes

Messages: 2500

Inscription: 12 Nov 2008

Localisation: Lille (59)

Boitier 1: 2 - Fuji

Boitier 2: 4 - Nikon

Boitier 3:

Boitier 4:

Boitier 5:

Objectif 1: - Grand Angle

Objectif 2: - Standard

Objectif 3: - Téléobjectif

Objectif 4: - Zoom

Objectif 5:

Objectif 6:

Objectif 7:

Objectif 8:

Objectif 9:

Objectif 10:

Flash 1: 6 - Nikon

Flash 2:

Flash 3:

Flash 4:

TC 2: 6 - Nikon

TC 3:

TC 5:

L'objectif dans la lumière éclaire l’œil du photographe

par rfr » Lundi 29 Décembre 2008 23:36

Voilà un script qui permet d'utiliser ImageMagick pour tout les formats:

Code: Tout sélectionner
#!/bin/sh

convert $1 -resize 800x -quality 90 $2

HEIGHT=`identify -format "%[fx:h]" $2`
SHEIGHT=`expr $HEIGHT + 13`

mogrify -fill none -bordercolor black -border 10x10 -stroke white -strokewidth 1 -draw "rectangle 6,6 813,$SHEIGHT" -pointsize 16 -rotate 90 -gravity southwest-geometry -10-10 -annotate +10+10 'F. Rouyre' -rotate -90 $2


Attention que l' "*" ne fait pas partie du code et qu'il faut l'enlever ... (le forum l'ajoute automatiquement)

Il suffit de copier ce code dans un fichier (ex: encadre)

Puis de rendre ce fichier exécutable via la commande

Code: Tout sélectionner
chmod a+x encadre


puis de l'exécuter en l'appelant comme suit:

Code: Tout sélectionner
./encadre <img source> <img destination>


Vous êtes bien-sûr libre d'adapter les paramètres des commandes comme bon vous semble ;)

Photos: 3
rfr

Pi........
Pi........

Messages: 34

Inscription: 25 Déc 2008

Localisation: Namur, Belgique

Objectif 1:

par LeColosse » Mardi 30 Décembre 2008 22:11

Merci rfr,
Passe de bonnes fêtes de fin d'année

Photos: 468
LeColosse

Pixelistes
Pixelistes

Messages: 2500

Inscription: 12 Nov 2008

Localisation: Lille (59)

Boitier 1: 2 - Fuji

Boitier 2: 4 - Nikon

Boitier 3:

Boitier 4:

Boitier 5:

Objectif 1: - Grand Angle

Objectif 2: - Standard

Objectif 3: - Téléobjectif

Objectif 4: - Zoom

Objectif 5:

Objectif 6:

Objectif 7:

Objectif 8:

Objectif 9:

Objectif 10:

Flash 1: 6 - Nikon

Flash 2:

Flash 3:

Flash 4:

TC 2: 6 - Nikon

TC 3:

TC 5:

L'objectif dans la lumière éclaire l’œil du photographe
Poster une réponse

Poster une réponse

Citer la selection
 

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron