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 09/03/2017, 01:33]
176.147.63.19 [Composite]
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 forçant un changement de proportions :​ <​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
-  * créer un document PDF à partir d'une série d'​images png : <​code>​convert -compress jpeg images_*.png document.pdf</​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 ​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>​
-  * 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>​ +  ​* extraire des images png à partir de chaque page d'un document pdf : <code bash>​convert -density 300 fichier.pdf page%d.png</​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>​convert image.jpg -auto-orient image_retournee.jpg</​code>​ +  * ou si on ne veut qu'une page du fichier pdf (pour une page de couverture par exemple): 
-  * 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]] ; +  * <code bash>​convert -density 95 -quality 70 publication.pdf[0] couverture-publication.jpg</​code>​ 
-  ​découper une image selon le principe de l'​emporte-pièce. Les paramètres hauteur et largeur permettent de fixer la hauteur et la largeur de l'​image finale (dans la limite des dimensions de l'​image originale)les paramètres //x// et //y// permettent ​de 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 100 px de hauteur ​et de 50 px de largeur située à 10 px du bord gauche et à 20 px du bord supérieur de « initial.png » : <​code>​convert ​-crop 50x100+10+20 ​ initial.jpg final.jpg</​code>​ + 
-  * découper une image de dimensions ​ 55 × 110 en 18 morceaux10 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>​convert ​-crop 20x20 initial.jpg final.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. 
-  * transformer un dossier d'​images : <​code>​convert *.BMP -set filename:f '​%t.png'​ +adjoin '​%[filename:​f]'</code>+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>​ 
 +  ​* 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 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
 +  * 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>​  
 +<note tip> 
 +Cette option est quasi-indispensable ​avec les images verticales dont on compte supprimer (option **-strip**) ensuite ​les exifs et commentaires. Faute de quoi, une même image sera affichée verticalement ou horizontalement selon les __visionneuses__ ​et - auteurs ​de blogssongez-! - selon les __navigateurs__. 
 +<​code ​bash> 
 +convert ​image.jpg -auto-orient -strip image_retournee.jpg 
 +</​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 70: Ligne 93:
  
   mogrify -resize 800x600 -path /​autre_repertoire *.jpg   mogrify -resize 800x600 -path /​autre_repertoire *.jpg
 +
 +Ou encore, conversion de gif en jpg dans le même répertoire :​
 +
 +  mogrify -format jpg *.gif
  
 Ou encore, conversion et changement de proportions :​ Ou encore, conversion et changement de proportions :​
  
   mogrify *.png -resize 500x1050\! -path /​autre_repertoire ​ *.jpg   mogrify *.png -resize 500x1050\! -path /​autre_repertoire ​ *.jpg
 +  ​
 Ce dernier traitement par lot est particulièrement utile pour corriger en un clin d'oeil des captures d'​écran si, par exemple, la numérisation de vos cassettes VHS n'a pas respecté les proportions originelles. Ce dernier traitement par lot est particulièrement utile pour corriger en un clin d'oeil des captures d'​écran si, par exemple, la numérisation de vos cassettes VHS n'a pas respecté les proportions originelles.
  
 ==== 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 126: 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 132: 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 253: 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 269: 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 282: 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 291: 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 303: 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 332: Ligne 359:
  
 ===== FAQ ===== ===== FAQ =====
 +
 +==== J'​obtiens une erreur dans la conversion en PDF (et EPS...) ====
 +à la commande :
 +  convert image1.jpg image2.jpg image.pdf
 +On a l'​erreur :
 +
 +  convert: not authorized `image.pdf'​ @ error/​constitute.c/​WriteImage/​1028.
 +  ​
 +  ​
 +
 +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 :
 +  <policy domain="​coder"​ rights="​none"​ pattern="​PDF"​ />
 +Par la ligne :
 +  <policy domain="​coder"​ rights="​read | write" pattern="​PDF"​ />
 +Pour EPS, remplacer la ligne :
 +  <policy domain="​coder"​ rights="​none"​ pattern="​EPS"​ />
 +Par la ligne :
 +  <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 339: Ligne 396:
 ==== J'​obtiens une erreur '​Échec de la délégation'​ lorsque je lance une commande ==== ==== J'​obtiens une erreur '​Échec de la délégation'​ lorsque je lance une commande ====
  
-Lorsque vous lancez une commande, ImageMagick peut délèguer ​des opérations à d'​autres programmes. Il est donc nécessaire que ces derniers soient installés.+Lorsque vous lancez une commande, ImageMagick peut déléguer ​des opérations à d'​autres programmes. Il est donc nécessaire que ces derniers soient installés.
  
 Pour obtenir la liste de ces délégations,​ tapez : Pour obtenir la liste de ces délégations,​ tapez :
Ligne 357: Ligne 414:
  
 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, width or height ====
 +Erreur du type:
 +<​code>​convert-im6.q16:​ DistributedPixelCache '​127.0.0.1'​ @ error/​distribute-cache.c/​ConnectPixelCacheServer/​244</​code>​
 +Il faut modifier le fichier de configuration d'​imagemagick pour augmenter le cache (attention à disposer de la mémoire correspondante!):​
 +<file - /​etc/​ImageMagick-6/​policy.xml>​
 +<policy domain="​resource"​ name="​memory"​ value="​3GB"/>​
 +<policy domain="​resource"​ name="​disk"​ value="​2GB"/>​
 +</​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.1489019634.txt.gz
  • Dernière modification: Le 09/03/2017, 01:33
  • par 176.147.63.19