Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
imagemagick [Le 29/07/2019, 19:10]
78.248.38.178
imagemagick [Le 07/03/2024, 00:13] (Version actuelle)
77.140.254.212 Corrigé commande erronée (Grey --> Gray)
Ligne 8: Ligne 8:
 **ImageMagick** est un logiciel **en ligne de commande** très puissant de manipulation d'​images dans pratiquement tous les formats existants. Il consiste en une suite d'​outils permettant par exemple de changer le format, l'​échelle,​ l'​orientation,​ rajouter une bordure ou du texte, appliquer un filtre, fusionner plusieurs images, animer une suite d'​images,​ etc... **ImageMagick** est un logiciel **en ligne de commande** très puissant de manipulation d'​images dans pratiquement tous les formats existants. Il consiste en une suite d'​outils permettant par exemple de changer le format, l'​échelle,​ l'​orientation,​ rajouter une bordure ou du texte, appliquer un filtre, fusionner plusieurs images, animer une suite d'​images,​ etc...
 Il est possible d'​utiliser ces différents outils dans des programmes écrits en C, C++, Ruby, Python, Perl, etc... Il est possible d'​utiliser ces différents outils dans des programmes écrits en C, C++, Ruby, Python, Perl, etc...
 +
 +<note important>​Depuis 2016 imagemagick est passé à la version 7 qui modifie sensiblement la manière d'​utiliser la bibliothèque,​ toutefois une version 6, intitulée "​legacy"​ reste maintenue (2023) et mise à jour. La présente page se réfère à l'​utilisation d'IM6. La version d'IM présente dans les paquets est une version legacy.</​note>​
  
 ===== Installation ===== ===== Installation =====
Ligne 39: Ligne 41:
  
 **Convert** permet la modification d'une ou plusieurs images, par exemple : **Convert** permet la modification d'une ou plusieurs images, par exemple :
-  * créer une image TGA à partir d'une image JPEG : <​code>​convert image.jpg image.tga</​code>​ +  * créer une image TGA à partir d'une image JPEG : <​code ​bash>convert image.jpg image.tga</​code>​ 
-  * convertir une capture PNG en JPEG **et** la compresser à 20 %. Cela est **fort utile** pour ne pas alourdir inutilement vos demandes d'aide sur le forum : <​code>​convert -quality 20 image.png image.jpg</​code>​ +  * convertir une capture PNG en JPEG **et** la compresser à 20 %. Cela est **fort utile** pour ne pas alourdir inutilement vos demandes d'aide sur le forum : <​code ​bash>convert -quality 20 image.png image.jpg</​code>​ 
-  * créer un fichier GIF animé à partir de plusieurs images PNG : <​code>​convert images_*.png anime.gif</​code>​ +  * créer un fichier GIF animé à partir de plusieurs images PNG : <​code ​bash>convert images_*.png anime.gif</​code>​ 
-<​note>​Cette commande permet la création d'un GIF animé d'​assez bonne qualité à partir de photos JPEG (l'​option ''​-delay''​ permet de spécifier un temps en centièmes de secondes, l'​option ''​-loop 2''​ permet de faire 2 boucles des photos et 0 une lecture en continu) : <​code>​convert -delay 50 -loop 0 *.jpg animation.gif</​code></​note>​ +<​note>​Cette commande permet la création d'un GIF animé d'​assez bonne qualité à partir de photos JPEG (l'​option ''​-delay''​ permet de spécifier un temps en centièmes de secondes, l'​option ''​-loop 2''​ permet de faire 2 boucles des photos et 0 une lecture en continu) : <​code ​bash>convert -delay 50 -loop 0 *.jpg animation.gif</​code></​note>​ 
-  * redimensionner en conservant les proportions (l'une des dimensions de l'​image finale pourra être inférieure aux valeurs passées en paramètre) :​ <​code>​convert test1.jpg -resize 500x1050 test1b.jpg</​code>​ +  * redimensionner en conservant les proportions (l'une des dimensions de l'​image finale pourra être inférieure aux valeurs passées en paramètre) :​ <​code ​bash>convert test1.jpg -resize 500x1050 test1b.jpg</​code>​ 
-  * redimensionner en forçant un changement de proportions :​ <​code>​convert test1.jpg -resize 500x1050\! test1b.jpg</​code>​ +  * redimensionner en forçant un changement de proportions :​ <​code ​bash>convert test1.jpg -resize 500x1050\! test1b.jpg</​code>​ 
-  * créer un document PDF à partir d'une série d'​images png : <​code>​convert -compress jpeg images_*.png document.pdf</​code>​+  * créer un document PDF à partir d'une série d'​images png : <​code ​bash>convert -compress jpeg images_*.png document.pdf</​code>​
 <​note>​L'​option ''​-compress jpeg''​ force la compression des images au format JPEG plutôt qu'au format MTIF par défaut. Cela a pour effet d'​offrir un fichier PDF nettement plus petit et plus compatible avec Adobe Reader.</​note>​ <​note>​L'​option ''​-compress jpeg''​ force la compression des images au format JPEG plutôt qu'au format MTIF par défaut. Cela a pour effet d'​offrir un fichier PDF nettement plus petit et plus compatible avec Adobe Reader.</​note>​
-  * extraire des images png à partir de chaque page d'un document pdf : <​code>​convert -density 300 fichier.pdf page%d.png</​code>​ +  * extraire des images png à partir de chaque page d'un document pdf : <​code ​bash>convert -density 300 fichier.pdf page%d.png</​code>​ 
-<note tip>En cas d'​erreur du type : <​code>​convert-im6.q16:​ attempt to perform an operation not allowed by the security policy `PDF' @ error/​constitute.c/​IsCoderAuthorized/​408.+  * ou si on ne veut qu'une page du fichier pdf (pour une page de couverture par exemple): 
 +  * <code bash>​convert -density 95 -quality 70 publication.pdf[0] couverture-publication.jpg</​code>​ 
 + 
 +<note tip>En cas d'​erreur du type : <​code ​bash>​convert-im6.q16:​ attempt to perform an operation not allowed by the security policy `PDF' @ error/​constitute.c/​IsCoderAuthorized/​408.
 convert-im6.q16:​ no images defined `page%d.tif':​ Aucun fichier ou dossier de ce type @ error/​blob.c/​OpenBlob/​2874. convert-im6.q16:​ no images defined `page%d.tif':​ Aucun fichier ou dossier de ce type @ error/​blob.c/​OpenBlob/​2874.
 convert-im6.q16:​ no images defined `fichier.pdf'​ @ error/​convert.c/​ConvertImageCommand/​3258.</​code>​ne pas hésiter à modifier le fichier policy.xml ainsi qu'​indiqué [[imagemagick#​j_obtiens_une_erreur_dans_la_conversion_en_pdf_et_eps|ci-dessous]]</​note>​ convert-im6.q16:​ no images defined `fichier.pdf'​ @ error/​convert.c/​ConvertImageCommand/​3258.</​code>​ne pas hésiter à modifier le fichier policy.xml ainsi qu'​indiqué [[imagemagick#​j_obtiens_une_erreur_dans_la_conversion_en_pdf_et_eps|ci-dessous]]</​note>​
-  * diminuer les dimensions d'une image tout en effectuant une rotation de 90° dans le sens horaire : <​code>​convert images.jpg -resize 50% -rotate 90 image.jpg</​code>​ +  * diminuer les dimensions d'une image tout en effectuant une rotation de 90° dans le sens horaire : <​code ​bash>convert images.jpg -resize 50% -rotate 90 image.jpg</​code>​ 
-  * modifier la résolution de l'​image : <​code>​convert -units PixelsPerInch image.JPG -density 300 image.JPG</​code>​+  * modifier la résolution de l'​image : <​code ​bash>convert -units PixelsPerInch image.JPG -density 300 image.JPG</​code>​
 <note important>​Les dimensions de l'​image ne sont pas modifiées par cette opération, à l'​affichage celle-ci apparaîtra donc plus grande ou plus petite selon les cas.</​note>​ <note important>​Les dimensions de l'​image ne sont pas modifiées par cette opération, à l'​affichage celle-ci apparaîtra donc plus grande ou plus petite selon les cas.</​note>​
-  * tourner les images en fonction de leur orientation donnée dans le format [[wpfr>​EXIF]],​ comme par exemple les images issues d'un appareil photo numérique. L'​image n'est retournée que si elle a été prise en portrait, si elle a été prise en paysage, celle-ci n'est pas modifiée : <​code>​convert image.jpg -auto-orient image_retournee.jpg</​code>​ +  * tourner les images en fonction de leur orientation donnée dans le format [[wpfr>​EXIF]],​ comme par exemple les images issues d'un appareil photo numérique. L'​image n'est retournée que si elle a été prise en portrait, si elle a été prise en paysage, celle-ci n'est pas modifiée : <​code ​bash>convert image.jpg -auto-orient image_retournee.jpg</​code>​  
-  * ajouter un //​copyright//​ (« © Ubuntu » par ex.) ou autre //​watermark//​ sur les photos : des scripts ont déjà été faits, facilitant l'​utilisation des lignes de commandes, en particulier pour l'​ajout d'un //​copyright//​ image transparente : voir dans  [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=301750|ce post de forum]] ​avec [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=1878153#​p1878153|ce script]] de [[http://​forum.ubuntu-fr.org/​profile.php?​id=50612|Fake]] ; +<note tip> 
-  ​découper une image comme avec un emporte-pièce. Les paramètres largeur et hauteur servent à fixer la largeur et la hauteur de l'​image finale (dans la limite des dimensions de l'​image originale)les paramètres //x// et //y// servent à localiser le coin supérieur gauche de l'​image finale par rapport au coin supérieur gauche de l'​image initialePour découper une image de 50 px de largeur et de 100 px de hauteursituée à 10 px du bord gauche et à 20 px du bord supérieur de « initial.png » : <​code>​convert -crop 50x100+10+20 ​ initial.png ​ final.jpg</​code>​ +Cette option est quasi-indispensable ​avec les images verticales dont on compte supprimer (option **-strip**) ensuite ​les exifs et commentairesFaute de quoi, une même image sera affichée verticalement ou horizontalement selon les __visionneuses__ ​et - auteurs ​de blogssongez-! - selon les __navigateurs__. 
-  * découper ​une image de dimensions ​ 55 × 110 en 18 morceaux, 10 morceaux de 20 × 20, 2 morceaux de 20 × 10, 5 morceaux de 15 × 20 et 1 morceau ​de 15 × 10. En effetsi //x// et //y// sont omis, l'​image est intégralement découpée en morceaux de dimensions hauteur×largeur,​ la découpe se faisant de gauche à droite et de haut en bas, à partir du coin supérieur gauche (il est possible de remplacer hauteur×largeur et //x// et //y// par un % de la largeur//x// et //y// peuvent être négatifs, dans ce cas le point de départ de la découpe se fera en dehors de l'​image d'​origine,​ seule la partie correspondant à des pixels de l'​image d'​origine étant restituée). Les parties les plus à droite et les plus en bas peuvent être de dimensions inférieures à la taille de la découpe pour s'​adapter à la dimension de l'​image initiale : <​code>​convert ​-crop 20x20 initial.jpg final.jpg </​code>​ +<​code ​bash> 
-  * transformer un dossier d'images : <​code>​convert *.BMP -set filename:f '​%t.png'​ +adjoin '​%[filename:​f]'</​code>​ +convert ​image.jpg -auto-orient -strip image_retournee.jpg 
-  * créer une image unie (par exemple pour y superposer des images de dimensions différentes) : <​code>​convert -size 2450x4780 xc:blue image.png</code>+</​code>​ 
 +L'ordre des options importe ! 
 +</note>
  
 +  * améliorer le contraste (//​expansion d'​histogramme//​):​ selon la luminosité lors de la prise d'​image,​ celle-ci peut ne pas utiliser tous les niveaux disponibles,​ que ce soit dans les tons clairs comme dans les tons sombres, pour améliorer à minima cela, lancez : <code bash>​convert image-source-peu-contrasté.jpg -auto-level image-dest-mieux-contrasté.jpg</​code>​
 +  * ajouter un //​copyright//​ (« © Ubuntu » par ex.) ou autre //​watermark//​ sur les photos : des scripts ont déjà été faits, facilitant l'​utilisation des lignes de commandes, en particulier pour l'​ajout d'un //​copyright//​ image transparente : voir dans  [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=301750|ce post de forum]] avec [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=1878153#​p1878153|ce script]] de [[http://​forum.ubuntu-fr.org/​profile.php?​id=50612|Fake]] ;
 +  * découper une image comme avec un emporte-pièce. Les paramètres largeur et hauteur servent à fixer la largeur et la hauteur de l'​image finale (dans la limite des dimensions de l'​image originale), les paramètres //x// et //y// servent à localiser le coin supérieur gauche de l'​image finale par rapport au coin supérieur gauche de l'​image initiale. Pour découper une image de 50 px de largeur et de 100 px de hauteur, située à 10 px du bord gauche et à 20 px du bord supérieur de « initial.png » : <code bash>​convert -crop 50x100+10+20 ​ initial.png ​ final.jpg</​code>​
 +  * découper une image de dimensions ​ 55 × 110 en 18 morceaux, 10 morceaux de 20 × 20, 2 morceaux de 20 × 10, 5 morceaux de 15 × 20 et 1 morceau de 15 × 10. En effet, si //x// et //y// sont omis, l'​image est intégralement découpée en morceaux de dimensions hauteur×largeur,​ la découpe se faisant de gauche à droite et de haut en bas, à partir du coin supérieur gauche (il est possible de remplacer hauteur×largeur et //x// et //y// par un % de la largeur. //x// et //y// peuvent être négatifs, dans ce cas le point de départ de la découpe se fera en dehors de l'​image d'​origine,​ seule la partie correspondant à des pixels de l'​image d'​origine étant restituée). Les parties les plus à droite et les plus en bas peuvent être de dimensions inférieures à la taille de la découpe pour s'​adapter à la dimension de l'​image initiale : <code bash>​convert -crop 20x20 initial.jpg final.jpg </​code>​
 +  * convertir une image couleur en niveau de gris : <code bash>​convert -colorspace Gray initial.jpg final.jpg</​code>​
 +  * transformer un dossier d'​images : <code bash>​convert *.BMP -set filename:f '​%t.png'​ +adjoin '​%[filename:​f]'</​code>​
 +  * créer une image unie (par exemple pour y superposer des images de dimensions différentes) : <code bash>​convert -size 2450x4780 xc:blue image.png</​code>​
 +  * créer une image transparente (par exemple pour y coller d'​autres éléments) : <code bash>​convert -size 840x600 xc:none image-transp.png</​code>​
 ==== Mogrify ==== ==== Mogrify ====
  
Ligne 91: Ligne 106:
 ==== Identify ==== ==== Identify ====
  
-**Identify** donne des informations sur l'​image. ​+**Identify** donne des informations sur l'​image.
   * Pour des informations sommaires : <​code>​identify image.jpg</​code>​   * Pour des informations sommaires : <​code>​identify image.jpg</​code>​
   * Pour des informations complètes : <​code>​identify -verbose image.jpg</​code>​   * Pour des informations complètes : <​code>​identify -verbose image.jpg</​code>​
Ligne 138: Ligne 153:
 [[man>​import|Le manuel]] pour plus d'​information. [[man>​import|Le manuel]] pour plus d'​information.
  
-==== Animate ==== +==== Animate ====
  
 **Animate** permet la visualisation d'​animations. **Animate** permet la visualisation d'​animations.
Ligne 144: Ligne 159:
   * Pour animer une série de photos à raison d'une par seconde : <​code>​animate -delay 100 *.png </​code>​   * Pour animer une série de photos à raison d'une par seconde : <​code>​animate -delay 100 *.png </​code>​
  
-==== Compare ==== +==== Compare ====
  
 **Compare** crée, à partir de 2 images, une troisième qui représente la différence entre les 2 premières. Utile pour savoir où ont été opérées des modifications : **Compare** crée, à partir de 2 images, une troisième qui représente la différence entre les 2 premières. Utile pour savoir où ont été opérées des modifications :
Ligne 265: Ligne 280:
 == -dissolve == == -dissolve ==
  
-Dissolution d'une image dans l'​autre. Cette méthode effectue une superposition contrôlée de la première image sur la seconde, en ajustant la transparence de la première sur la seconde. Il est également possible d'​organiser la dissolution progressive de la seconde image (valeurs de transparence de 100 % à 200 %). Syntaxe : +Dissolution d'une image dans l'​autre. Cette méthode effectue une superposition contrôlée de la première image sur la seconde, en ajustant la transparence de la première sur la seconde. Il est également possible d'​organiser la dissolution progressive de la seconde image (valeurs de transparence de 100 % à 200 %). Syntaxe :
  
   composite -dissolve pourcentage Première Deuxième Image_résultante   composite -dissolve pourcentage Première Deuxième Image_résultante
Ligne 281: Ligne 296:
 == -watermark ("​modulate"​ compose method) == == -watermark ("​modulate"​ compose method) ==
  
-Dégradation d'​image et l'​apposition d'un filigrane pour protéger le copyright. Syntaxe : +Dégradation d'​image et l'​apposition d'un filigrane pour protéger le copyright. Syntaxe :
  
   composite -watermark valeur_luminosité[xvaleur_saturation] Première ​ Deuxième ​ image_resultante   composite -watermark valeur_luminosité[xvaleur_saturation] Première ​ Deuxième ​ image_resultante
Ligne 294: Ligne 309:
  
 La première image est reproduite comme un motif en plusieurs exemplaires de manière à couvrir la deuxième image. La première image est reproduite comme un motif en plusieurs exemplaires de manière à couvrir la deuxième image.
-Syntaxe : +Syntaxe :
  
   composite ​ -tile star.gif ​  ​netscape: ​  ​tile.gif   composite ​ -tile star.gif ​  ​netscape: ​  ​tile.gif
Ligne 303: Ligne 318:
  
 Utilisation de 4 valeurs numériques pour appliquer des traitements numériques à la carte. (Formule : A*Première*Deuxième + B*Première + C*Deuxième + D) Utilisation de 4 valeurs numériques pour appliquer des traitements numériques à la carte. (Formule : A*Première*Deuxième + B*Première + C*Deuxième + D)
-Syntaxe : +Syntaxe :
  
    '​-compose Mathematics -set option:​compose:​args -1,1,1,0 -composite image_résultante.png    '​-compose Mathematics -set option:​compose:​args -1,1,1,0 -composite image_résultante.png
Ligne 315: Ligne 330:
     Linear_Light 0,​2,​1,​-1     Linear_Light 0,​2,​1,​-1
  
-= Change_Mask = += Change_Mask =
  
 Rend transparents certains pixels de l'​image résultante finale en fonction de la valeur du Fuzz Factor. Utile pour reconstruire la transparence d'une image qui a recouvert un arrière-plan complexe suffisamment différent pour que la fonction puisse agir. Rend transparents certains pixels de l'​image résultante finale en fonction de la valeur du Fuzz Factor. Utile pour reconstruire la transparence d'une image qui a recouvert un arrière-plan complexe suffisamment différent pour que la fonction puisse agir.
Ligne 347: Ligne 362:
 ==== J'​obtiens une erreur dans la conversion en PDF (et EPS...) ==== ==== J'​obtiens une erreur dans la conversion en PDF (et EPS...) ====
 à la commande : à la commande :
-  convert image1.jpg image2.jpf image.pdf+  convert image1.jpg image2.jpg image.pdf
 On a l'​erreur : On a l'​erreur :
  
Ligne 355: Ligne 370:
  
 Cette protection fait suite à l'​été 2018 d'une possibilité très critique d'​élévation de privilège via Ghostscript (https://​www.kb.cert.org/​vuls/​id/​332928/​) qui a mis un temps anormal voire qui n'est toujours pas patché. Les devs de imagemagick ont donc décidé le temps que le patch soit appliqué d'​interdire les conversions vers le format PDF (et autres). Il faut éditer le fichier ''​ /​etc/​ImageMagick-6/​policy.xml''​ : Cette protection fait suite à l'​été 2018 d'une possibilité très critique d'​élévation de privilège via Ghostscript (https://​www.kb.cert.org/​vuls/​id/​332928/​) qui a mis un temps anormal voire qui n'est toujours pas patché. Les devs de imagemagick ont donc décidé le temps que le patch soit appliqué d'​interdire les conversions vers le format PDF (et autres). Il faut éditer le fichier ''​ /​etc/​ImageMagick-6/​policy.xml''​ :
- 
 Pour PDF, remplacer la ligne : Pour PDF, remplacer la ligne :
   <policy domain="​coder"​ rights="​none"​ pattern="​PDF"​ />   <policy domain="​coder"​ rights="​none"​ pattern="​PDF"​ />
Ligne 364: Ligne 378:
 Par la ligne : Par la ligne :
   <policy domain="​coder"​ rights="​read | write" pattern="​EPS"​ />   <policy domain="​coder"​ rights="​read | write" pattern="​EPS"​ />
 +
 +
 +Où alors en ligne de commandes :
 +
 +<​code>​
 +sudo sed -i '​s/​rights="​none"​ pattern="​PDF"/​rights="​read | write" pattern="​PDF"/'​ /​etc/​ImageMagick-6/​policy.xml
 +sudo sed -i '​s/​rights="​none"​ pattern="​EPS"/​rights="​read | write" pattern="​EPS"/'​ /​etc/​ImageMagick-6/​policy.xml
 +sudo sed -i '​s/​rights="​none"​ pattern="​XPS"/​rights="​read | write" pattern="​XPS"/'​ /​etc/​ImageMagick-6/​policy.xml
 +sudo sed -i '​s/​rights="​none"​ pattern="​PS"/​rights="​read | write" pattern="​PS"/'​ /​etc/​ImageMagick-6/​policy.xml
 +</​code>​
 +
  
 ==== Où trouver imagemagick-devel ? ==== ==== Où trouver imagemagick-devel ? ====
Ligne 390: Ligne 415:
 Donc **[[apt>​librsvg2-bin]]** pour le support des images svg. Donc **[[apt>​librsvg2-bin]]** pour le support des images svg.
  
-==== J'​obtiens une erreur de cache ====+==== J'​obtiens une erreur de cache, width or height ​====
 Erreur du type: Erreur du type:
 <​code>​convert-im6.q16:​ DistributedPixelCache '​127.0.0.1'​ @ error/​distribute-cache.c/​ConnectPixelCacheServer/​244</​code>​ <​code>​convert-im6.q16:​ DistributedPixelCache '​127.0.0.1'​ @ error/​distribute-cache.c/​ConnectPixelCacheServer/​244</​code>​
Ligne 398: Ligne 423:
 <policy domain="​resource"​ name="​disk"​ value="​2GB"/>​ <policy domain="​resource"​ name="​disk"​ value="​2GB"/>​
 </​file>​ </​file>​
 +
 +<​code>​
 +sudo sed -i '​s/​name="​memory"​ value="​256MiB"/​name="​memory"​ value="​3GiB"/'​ /​etc/​ImageMagick-6/​policy.xml
 +sudo sed -i '​s/​name="​disk"​ value="​1GiB"/​name="​disk"​ value="​2GiB"/'​ /​etc/​ImageMagick-6/​policy.xml
 +
 +
 +sudo sed -i '​s/​name="​memory"​ value="​256MiB"/​name="​memory"​ value="​512MiB"/'​ /​etc/​ImageMagick-6/​policy.xml
 +sudo sed -i '​s/​name="​disk"​ value="​1GiB"/​name="​disk"​ value="​2GiB"/'​ /​etc/​ImageMagick-6/​policy.xml
 +</​code>​
 +
 +Pour une erreur //width or height// (j'​avais une image de 7803x19208) ((https://​askubuntu.com/​a/​1484930/​385361)):​
 +<file - /​etc/​ImageMagick-6/​policy.xml>​
 +<policy domain="​resource"​ name="​width"​ value="​24KP"/>​ <!-- default 16KP -->
 +<policy domain="​resource"​ name="​height"​ value="​24KP"/>​ <!-- default 16KP -->
 +</​file>​
 +j'ai eu ensuit l'​erreur cache et j'ai dû monter "​disk"​ à 3GiB (cf. ci-dessus)
 ===== Voir aussi ===== ===== Voir aussi =====
  
   * [[http://​www.imagemagick.org/​script/​command-line-tools.php|Site officiel]] **(en)**   * [[http://​www.imagemagick.org/​script/​command-line-tools.php|Site officiel]] **(en)**
   * [[http://​www.imagemagick.org/​Usage|De nombreux exemples]] **(en)**   * [[http://​www.imagemagick.org/​Usage|De nombreux exemples]] **(en)**
-  * [[http://softlibre.gloobe.org/doku.php?​id=imagemagick:​doc_start|Documentation non-officielle]] **(fr)**+  * [[http://www.fmwconcepts.com/imagemagick/​multicrop2/​index.php|Pour aller plus loin : de nombreux scripts pour Imagemagick]] **(en)**
  
 ---- ----
  
- //​Contributeurs principaux : [[:​utilisateurs:​kanor]],​ [[:​utilisateurs:​ZondeR]],​ [[:​utilisateurs:​Zococo]],​ moko138.//+ //​Contributeurs principaux : [[:​utilisateurs:​kanor]],​ [[:​utilisateurs:​ZondeR]],​ [[:​utilisateurs:​Zococo]],​ moko138, [[:​utilisateurs:​bcag2]].//
  • imagemagick.1564420248.txt.gz
  • Dernière modification: Le 29/07/2019, 19:10
  • par 78.248.38.178