Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
ressource:logiciel:imagemagick:start [2023/01/24 01:07] emoc [Exemples] |
ressource:logiciel:imagemagick:start [2025/10/13 18:23] (Version actuelle) emoc [Petits trucs pratiques] |
||
|---|---|---|---|
| Ligne 23: | Ligne 23: | ||
| Voir [[ressource:logiciel:imagemagick:composition_images|composition d'images avec imagemagick]] | Voir [[ressource:logiciel:imagemagick:composition_images|composition d'images avec imagemagick]] | ||
| - | ===== Imposition ===== | + | ===== Couleur ===== |
| - | Voir les scripts de ce repo pour différents types d'imposition : https://github.com/emoc/edition_imposition/ | + | **Appliquer une palette à une image existante** ([[recherche:residence_infra:infra_graphique#divers|exemple plus fourni]]) \\ |
| - | + | # ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 @ Debian 12 / tenko | |
| - | **Monter plusieurs exemplaires du même document** \\ | + | # Définir la palette en indiquant des couleurs |
| - | A partir d'un original en A4, en mettre deux exemplaires en A5 sur le même feuillet | + | convert xc:'#1268b9' xc:'#dfebf6' -append palette.png |
| - | # 20211113 / ImageMagick 6.9.7-4 Q16 x86_64 20170114 / Debian Stretch 9.5 @ Kirin | + | # Appliquer |
| - | convert -density 300 ./original.pdf original.png | + | convertimage.png -remap palette.png image_convertie.png |
| - | montage -geometry 1748x2480 -tile 2x1 original.png original.png 2xoriginal.png | + | |
| - | convert ./2xoriginal.png -density 300 -units pixelsperinch -compress jpeg -quality 80% 2xoriginal.pdf | + | |
| Ligne 89: | Ligne 87: | ||
| Toutes les images JPEG seront converties à 1200x900, en agrandissant la plus petite dimension sans changer les proportions : l'image remplit toute la surface demandée et peut la dépasser, dans ce cas elle est tronquée. (nb : pas de //wildcard// dans le nom de fichier en sortie). | Toutes les images JPEG seront converties à 1200x900, en agrandissant la plus petite dimension sans changer les proportions : l'image remplit toute la surface demandée et peut la dépasser, dans ce cas elle est tronquée. (nb : pas de //wildcard// dans le nom de fichier en sortie). | ||
| - | ===== Assemblages d'images ===== | + | ===== Assemblage / découpage d'image ===== |
| **Assembler deux images** | **Assembler deux images** | ||
| Ligne 117: | Ligne 115: | ||
| montage @files.txt -geometry 800x800+0+0 -tile 6x6 -background none montage.png | montage @files.txt -geometry 800x800+0+0 -tile 6x6 -background none montage.png | ||
| + | **Découper une image en plusieurs morceaux** \\ | ||
| + | Exemple : découper une image de 6400x800 en 10 morceaux de 640x800 | ||
| + | # 20250407 / ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 / Debian 12 Bookworm @ Tenko | ||
| + | convert image.png -crop 640x800 +repage morceaux_%03d.png | ||
| ===== Petits trucs pratiques ===== | ===== Petits trucs pratiques ===== | ||
| + | |||
| + | **Montage pour faciliter le pixel art** \\ | ||
| + | Les images des sprites sont très petites (16x16px), il faut les agrandir et ajouter une grille (avec le script [[http://www.fmwconcepts.com/imagemagick/grid/index.php|grid]] de Fred Weinhaus) | ||
| + | <code bash> | ||
| + | # 20250407 / ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 / Debian 12 Bookworm @ Tenko | ||
| + | convert frogue.png -filter point -resize 1000% f1.png # multiplier la définition par 10 sans interpolation | ||
| + | convert f1.png -background '#65ff00' -layers flatten f2.png # ajouter un fond vert | ||
| + | sh ./grid -s 10 -c white -o 0.8 f2.png f3.png # ajouter une grille blanche autour de chaque pixel | ||
| + | sh ./grid -s 160 -c black f3.png frogue_x10_grille.png # ajouter une grille noire autour de chaque frame | ||
| + | </code> | ||
| + | Original | ||
| + | {{:ressource:logiciel:gb_studio:frogue.png?direct|}} | ||
| + | Résultat | ||
| + | {{:ressource:logiciel:gb_studio:frogue_x10_grille.png?direct&480|}} | ||
| **Ajouter une bordure de couleur à une image** ([[http://www.imagemagick.org/discourse-server/viewtopic.php?t=17158|source]]) | **Ajouter une bordure de couleur à une image** ([[http://www.imagemagick.org/discourse-server/viewtopic.php?t=17158|source]]) | ||
| Ligne 123: | Ligne 139: | ||
| convert image.png -shave 1x1 -bordercolor black -border 1 image_avec_bordure.png | convert image.png -shave 1x1 -bordercolor black -border 1 image_avec_bordure.png | ||
| # mogrify -shave 1x1 -bordercolor black -border 1 -format png *.png # utile pour le faire sur tout un répertoire | # mogrify -shave 1x1 -bordercolor black -border 1 -format png *.png # utile pour le faire sur tout un répertoire | ||
| - | | + | |
| + | **Travailler sur des fichiers PDF**\\ | ||
| + | Sur Debian 12 LXDE l'erreur ''attempt to perform an operation not allowed by the security policy `PDF''', il est nécessaire de modifier le fichier ''/etc/ImageMagick-7/policy.xml'' pour ajouter ou modifier la ligne suivante : ''<policy domain="coder" rights="read | write" pattern="PDF" />'' | ||
| + | sudo nano /etc/ImageMagick-6/policy.xml | ||
| **Conversion d'un fichier .pdf en une série d'images** | **Conversion d'un fichier .pdf en une série d'images** | ||
| # 20200705 / ImageMagick 6.9.7-4 Q16 x86_64 20170114 / Debian Stretch 9.5 @ Kirin | # 20200705 / ImageMagick 6.9.7-4 Q16 x86_64 20170114 / Debian Stretch 9.5 @ Kirin | ||
| convert -density 150 fichier.pdf image_%02d.png | convert -density 150 fichier.pdf image_%02d.png | ||
| - | | + | |
| + | **Extraire une page d'un pdf et la convertir en image** | ||
| + | # 20251013 / ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 / Debian 12 Bookworm @ Tenko | ||
| + | convert -density 300 document.pdf[1] -quality 100 extrait.png | ||
| + | Imagemagick compte à partir de 0, le 1 entre crochet carré signifie donc qu'on veut la page 2! | ||
| **Conversion d'une série d'images en pdf** | **Conversion d'une série d'images en pdf** | ||
| # 20210604 / ImageMagick 6.9.7-4 Q16 x86_64 20170114 / Debian Stretch 9.5 @ Kirin | # 20210604 / ImageMagick 6.9.7-4 Q16 x86_64 20170114 / Debian Stretch 9.5 @ Kirin | ||
| Ligne 159: | Ligne 184: | ||
| # (convert -background white -fill black -size 877x1240 -gravity center label:"$i" -shave 1x1 -bordercolor black -border 1 page_"$i".png) | # (convert -background white -fill black -size 877x1240 -gravity center label:"$i" -shave 1x1 -bordercolor black -border 1 page_"$i".png) | ||
| done | done | ||
| + | | ||
| + | **Découper / remonter** \\ | ||
| + | #!/bin/bash | ||
| + | # 20230313 / ImageMagick 6.9.7-4 Q16 x86_64 20170114 / Debian Stretch 9.5 @ Kirin | ||
| + | # Prendre une image de 1920 x 800 et la découper en 3 images de 640 x 800 | ||
| + | # Et la mettre sur fond blanc dans un carré de 1920 x 1920 | ||
| + | | ||
| + | FICHIER=swamp | ||
| + | # Découpe | ||
| + | convert "$FICHIER".png +gravity -crop 640x800 "$FICHIER"_%02d.png | ||
| + | # Recadrage | ||
| + | convert -size 1920x2400 canvas:white "$FICHIER".png -geometry +0+800 -composite "$FICHIER"_cadre.png | ||
| ===== Imposition ===== | ===== Imposition ===== | ||
| + | |||
| + | Voir les scripts de ce repo pour différents types d'imposition : https://github.com/emoc/edition_imposition/ | ||
| + | |||
| + | **Monter plusieurs exemplaires du même document** \\ | ||
| + | A partir d'un original en A4, en mettre deux exemplaires en A5 sur le même feuillet | ||
| + | # 20211113 / ImageMagick 6.9.7-4 Q16 x86_64 20170114 / Debian Stretch 9.5 @ Kirin | ||
| + | convert -density 300 ./original.pdf original.png | ||
| + | montage -geometry 1748x2480 -tile 2x1 original.png original.png 2xoriginal.png | ||
| + | convert ./2xoriginal.png -density 300 -units pixelsperinch -compress jpeg -quality 80% 2xoriginal.pdf | ||
| + | |||
| ==== 4 flyers sur la même page A4 ==== | ==== 4 flyers sur la même page A4 ==== | ||
| Ligne 188: | Ligne 235: | ||
| rm flyer_montage.pdf | rm flyer_montage.pdf | ||
| </code> | </code> | ||
| + | |||
| + | ==== 2 flyers A5 sur la même page A4 ==== | ||
| + | |||
| + | Conversion du pdf simple page en image | ||
| + | convert -density 300 affiche.pdf image.png | ||
| + | A partir d'images A5 @ 600 dpi | ||
| + | |||
| + | <code> | ||
| + | montage image.png image.png -tile 2x1 -geometry 3508x4961 flyer_montage.png | ||
| + | convert flyer_montage.png -density 600 -units pixelsperinch 2xA5.pdf | ||
| + | </code> | ||
| + | |||
| ===== Ressources ===== | ===== Ressources ===== | ||