Convertir une image en niveaux de gris

© Christian PAULUS. Document créé le 9 juillet 2009 , mis à jour le 23 août 2009.

L'Homme est une prison où l'Âme reste libre. Victor Hugo

Accueil du site > Astuces > MacOSX > Convertir une image en niveaux de gris

imageMagick, Automator / MacOsX 10.5.7 (Leopard)

Vous avez besoin de convertir des images PNG couleur en niveaux de gris ? Voici une petite application réalisée sous Automator.

Grayscale converter permet de convertir les images par simple drag & drop. L’image originale est placée dans le dossier ’origine, le nom du fichier se termine par un ’˜’ (tilde).

Installer ImageMagick

Grayscale converter a besoin de convert, outil livré avec ImageMagick.

Pour installer ImageMagick, ouvrez un terminal puis entrez :

sudo port install ImageMagick

Ecrire le workflow

L’application se trouve en fin d’article. Ce paragraphe est donné comme exercice, pour les passionnés. Si vous voulez juste utiliser le convertisseur, passez au paragraphe suivant.

Sous Automator, créez votre workflow qui doit ressembler à ça :

PNG - 30.2 ko
workflow Automator pour grayscale

Notez le sélecteur « Données en entrée : comme arguments »

L’image ci-dessus est incomplète. Voici le script à insérer :

PNAME="Grayscale converter"

CONVERT="/opt/local/bin/convert"
LOGGER="/usr/bin/logger"

FOLDER=`dirname "$1"`
cd "$FOLDER"

for ii in "$@"
do

FROM=`basename "$ii"`


if [ -f "$FROM" ]
then
BACKUP="$FROM~"
SUFFIX=`/usr/bin/file -b "$FROM" | /usr/bin/cut -c 1-3 | /usr/bin/tr "[:upper:]" "[:lower:]"`
GOOD="png"

if [ "$SUFFIX" = "png" ]
then

        # si original encore là, ne pas convertir
        if [ ! -f "$BACKUP" ]
        then
                TO="$FROM.convert"
                $CONVERT "$FROM" -type Grayscale "$TO"
                if [ $? -ne 0 ]
                then
                        $LOGGER "$PNAME error: bad format"
                else
                        /bin/mv "$FROM" "$BACKUP"
                        /bin/mv "$TO" "$FROM"
                fi
        else
                $LOGGER "$PNAME error: $BACKUP already exist"
        fi

else
echo "$FROM pas PNG " >> "$HOME/test.log"
fi

else
echo "$FROM absent" >> "$HOME/test.log"
fi

done

Si vous avez du mal à copier/coller ce script, le voici compressé à télécharger :

Vous pouvez suivre les erreurs (fichier manquant, déjà présent, etc.) en consultant le journal système.

tail -f /var/log/system.log

Enregistrez le résultat en tant que Application.

PNG - 27.3 ko
Enregister grayscale

Utilisez Grayscale converter

Voici la version prête à l’emploi :

Zip - 1 ko
png_grayscale_converter.bash

Décompressez ce fichier puis placez-le, par exemple, sur le bureau.

Pour convertir un fichier .PNG en niveaux de gris, cliquez sur votre fichier image, maintenez le bouton de la souris enfoncé et déplacez le curseur de la souris sur Grayscale converter. Relachez la souris. Dans votre dossier d’origine, le fichier original est renommé (un tilde vient se placer en fin du nom de fichier) et la version en niveaux de gris apparaît à ses côtés.

Documents joints

Plussoyez !

Les forums sont fermés.