Utiliser ImageMagick avec CoolTweak


A propos de l'article

Ce tutoriel technique s'adresse aux développeurs qui désirent étendre les possibilités de CoolTweak en utilisant la librarie ImageMagick.

Nous allons voir comment créer 2 commandes personnalisées appelées à la suite pour flouter l'image puis lui ajouter un cadre.

Si vous n'êtes pas encore familiarisé avec les commandes personnalisées, il est recommandé de lire leur documentation.

A propos d'ImageMagick

ImageMagick est une librairie de traitement d'image populaire et très riche dont la particularité est de pouvoir être appelée facilement en ligne de commande.
Ce mode de fonctionnement est donc idéal pour pouvoir l'intégrer dans CoolTweak car il suffit de référencer le fichier exécutable et de lui transmettre des paramètres.

La distribution d'ImageMagick est téléchargeable depuis son site officiel, il n'est pas nécessaire de l'installer, dézippez le dossier où vous le voulez.

Dans nos exemples, il sera déposé dans C:\ImageMagick et l'éxécutable principal sera donc C:\ImageMagick\magick.exe.

Création d'une commande ImageMagick

1

Dans un premier temps, créez un nouveau menu en lui associant une commande personnalisée et renommez le "test ImageMagick" par exemple.
Ce processus est décrit en détail ici si vous jamais avez un petit trou de mémoire .

2

Maintenant il faut dire à CoolTweak ce qu'il doit faire, c'est à dire appeler l'exécutable d'ImageMagick en lui transmettant des paramètres.

Dans le cas d'un flou gaussien, la syntaxe originale d'ImageMagick est du type:
magick.exe monfichier.jpg -blur 2x2 nouveaufichier.jpg

Voici donc la configuration de la commande personnalisée:
  • Type de commande: Fichier éxécutable
  • Chemin du script: C:\ImageMagick\magick.exe
  • Paramètres d'appel: {FilePath} -blur 2x2 {FilePath}
  • Cocher l'option: Attendre la fin de la commande avant de continuer
  • Sélectionner l'option: A la fin du traitement, Recharger le fichier depuis son emplacement courant
3

Et voilà c'est réglé, ImageMagick va être appelé sur chaque fichier, il appliquera un flou puis écrasera le fichier temporaire courant avec sa version floutée.
Nous avons aussi dit à CoolTweak de recharger le fichier traité pour qu'il prenne en compte la version floutée du fichier dans la suite des traitements.

4

Pour vérifier que tout est bien paramétré, c'est une bonne habitude de tester immédiatement si la commande correspond bien à vos attentes en utilisant le bouton "tester ces réglages" dans le coin en haut à droite, en saisissant le chemin d'un de vos fichiers puis en cliquant le bouton "Tester" pour lancer les traitements dessus.

A la fin du test de la commande, un fichier de log détaillé est ouvert automatiquement et retrace les détails de la commande (ainsi que ses éventuelles erreurs).
Le fichier traité est aussi affiché dans un explorateur Windows pour que vous puissiez le vérifier.

Paramètres d'appel

La seule partie qui n'est pas forcément claire est l'utilisation de la variable {FilePath} qui représente le chemin du fichier qui va être traité.

Avant l'appel de chaque action, CoolTweak fait une copie temporaire du fichier à traiter et stocke le chemin dans la variable {FilePath}.

{FilePath} -blur 2x2 {FilePath} revient donc à écraser le fichier temporaire courant avec sa version floutée (le fichier original lui restera intact).

Attention néanmoins, CoolTweak efface systématiquement tous les fichiers temporaires à la fin du traitement, vous ne pourrez plus y accéder.

Rechargement du fichier

Ici, le fichier traité remplace celui transmis mais nous aurions pu sauver le fichier flouté ailleurs et demander son rechargement depuis cet endroit.

Par exemple, avec les paramètres:
{FilePath} -blur 2x2 "{OriginalFileDirectoryPath}{OriginalFileNameWithoutExtension}-traite{OriginalFileNameExtension}",
nous demandons à ImageMagick de sauvegarder le fichier traité dans le dossier du fichier original.
Si le fichier original est C:\mon\fichier.jpg, alors avec ces paramètres le fichier flouté sera déposé dans C:\mon\fichier-traite.jpg.

Pour demander à CoolTweak de le recharger depuis cet endroit il faudra donc sélectionner l'option de rechargement "Recharger le fichier depuis un emplacement prédéfini" et saisir le chemin
{OriginalFileDirectoryPath}{OriginalFileNameWithoutExtension}-traite{OriginalFileNameExtension}
dans le champ de texte associé.

Enchainement avec une autre commande

Commencez par ajouter une nouvelle commande personnalisée à votre menu en cliquant sur le bouton "Nouvelle action".

Pour ajouter un cadre, la syntaxe originale d'ImageMagick est du type:
magick.exe monfichier.jpg -frame 5x5+2+2 nouveaufichier.jpg

La configuration de la seconde commande personnalisée est donc:
  • Type de commande: Fichier éxécutable
  • Chemin du script: C:\ImageMagick\magick.exe
  • Paramètres d'appel: {FilePath} -frame 5x5+2+2 {FilePath}
  • Cocher l'option: Attendre la fin de la commande avant de continuer
  • Sélectionner l'option: A la fin du traitement, Recharger le fichier depuis son emplacement courant

Voilà, CoolTweak va prendre le fichier qui vient d'être flouté et lui appliquer un cadre en utilisant ImageMagick.

Et maintenant ?

Maintenant, votre menu est prêt à l'emploi, il suffit de sauver vos modifications (bouton en bas à droite de l'éditeur de menu) pour pouvoir l'utiliser depuis un simple clic droit sur vos fichiers et dossiers.

ImageMagick est une librarie très puissante, il y a vraiment beaucoup de possibilités à exploiter.
Si pendant vos expérimentations vous trouvez des fonctionnalités qui devraient selon vous être présentes nativement dans CoolTweak, n'hésitez pas à nous les soumettre car toutes vos suggestions sont toujours les bienvenues.

Bon codage !