Ce blog a déménagé et parle maintenant uniquement anglais.

This blog has moved and now only speaks English.

blog.floriancargoet.com

See you there!

/home/florian

le blog de florian cargoet : du linux, du web et du logiciel libre



Script shell pour faire des coins ronds

26 June, 2009 (21:42) | Linux | Florian Cargoet

Voici un très petit script qui me sert de temps en temps pour faire très rapidement des coins ronds transparents sur mes images.

Le script

Vous aurez besoin d’imagemagick et de ce script :

#!/bin/sh
IN=$1
W=$(identify -format "%[fx:w]" $IN)
H=$(identify -format "%[fx:h]" $IN)
OUT=$2
R=$3
 
convert -size ${W}x${H} xc:none -fill white -draw "roundRectangle 0,0 ${W},${H} ${R},${R}" ${IN} -compose SrcIn -composite ${OUT}

Utilisation

./rounded_corner.sh image_originale.jpg image_coins_ronds.png 30

Notez l’usage du format PNG en sortie pour gérer la transparence (en JPEG vous auriez des coins noirs). Si vous ne l’aviez pas deviné, le 3ème paramètre, c’est le rayon des coins ronds, en pixels.

Pour les curieux, quelques explications

identify permet de récupérer des infos sur les images. Ici on se contente des dimensions que l’on obtient avec le paramètre -format.

convert utilise les dimensions récupérées pour créer une image vide dans laquelle il dessine un rectangle aux coins ronds. Ensuite, il compose ce masque avec l’image en entrée pour obtenir un effet coins ronds transparents.

Résultat

Sur une image de sashafatcat en CC-By (redimensionnée pour l’occasion) :

Image sans coins ronds

Image sans coins ronds

Image avec des coins ronds

Image avec des coins ronds

Article précédent :
«
Article suivant :
»

Commentaires

Commentaire de Christophe
le 27 June 2009, 13:33

+1
imagemagick est un peu difficile à aborder, mais c’est un outil vraiment utile !