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:composition_images [2020/05/07 17:48] emoc [Superpositions] |
ressource:logiciel:imagemagick:composition_images [2020/05/12 14:36] (Version actuelle) emoc [Composition avec transparence (alpha channel)] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>image code shell em}} | + | {{tag>image imagemagick code shell em}} |
====== Composition d'images avec Imagemagick ====== | ====== Composition d'images avec Imagemagick ====== | ||
Quelques exemples de composition d'images | Quelques exemples de composition d'images | ||
+ | |||
+ | ===== Superpositions ===== | ||
**Images de base** | **Images de base** | ||
- | {{:ressource:logiciel:imagemagick:a.png?direct|}} {{:ressource:logiciel:imagemagick:zz.png?direct|}} {{:ressource:logiciel:imagemagick:fond.png?direct|}} | + | [{{:ressource:logiciel:imagemagick:a.png?direct|a.png}}] |
+ | [{{:ressource:logiciel:imagemagick:zz.png?direct|zz.png}}] | ||
+ | [{{:ressource:logiciel:imagemagick:fond.png?direct|fond.png}}] | ||
De gauche à droite : A rouge sur fond blanc (100x100 pixels), 'zz' noir sur fond transparent (200x200 pixels), fond jaune (200x200 pixels) | De gauche à droite : A rouge sur fond blanc (100x100 pixels), 'zz' noir sur fond transparent (200x200 pixels), fond jaune (200x200 pixels) | ||
- | ===== Superpositions ===== | + | Pour les exemples ci-dessous, les images sont placées de la manière suivante : |
- | + | ||
- | Pour les exemples ci-dessous, les images sont placées comme ceci : | + | |
{{:ressource:logiciel:imagemagick:superposition.png?direct&400|}} | {{:ressource:logiciel:imagemagick:superposition.png?direct&400|}} | ||
Ligne 41: | Ligne 43: | ||
Les images sont en pile : fond jaune, par dessus : a.png, par dessus : zz.png placées à partir du point en haut à gauche \\ | Les images sont en pile : fond jaune, par dessus : a.png, par dessus : zz.png placées à partir du point en haut à gauche \\ | ||
La première image est redimensionnée et placée par l'opérateur geometry à 100 pixels de distance du point en haut à gauche \\ | La première image est redimensionnée et placée par l'opérateur geometry à 100 pixels de distance du point en haut à gauche \\ | ||
+ | |||
+ | Les parenthèses permettent de modifier l'image concernée avant qu'elle soit placée dans la liste principale. Elles sont précédées d'un antislash pour être correctement interprétées par le shell. | ||
# 20200507 / ImageMagick 6.9.7-4 Q16 x86_64 / Debian Stretch 9.5 @ Kirin | # 20200507 / ImageMagick 6.9.7-4 Q16 x86_64 / Debian Stretch 9.5 @ Kirin | ||
convert -size 200x200 canvas:yellow \( a.png -resize 50x50 \) -geometry +50+50 -composite \( zz.png -crop 100x60+60+50 \) -geometry +100+100 -composite comp_003.png | convert -size 200x200 canvas:yellow \( a.png -resize 50x50 \) -geometry +50+50 -composite \( zz.png -crop 100x60+60+50 \) -geometry +100+100 -composite comp_003.png | ||
Ligne 60: | Ligne 64: | ||
{{:ressource:logiciel:imagemagick:comp_005.png?direct|}} | {{:ressource:logiciel:imagemagick:comp_005.png?direct|}} | ||
+ | |||
+ | ===== Composition avec transparence (alpha channel) ===== | ||
+ | |||
+ | **Images de base** | ||
+ | |||
+ | [{{:ressource:logiciel:imagemagick:m_trans.png?direct|m.png}}] | ||
+ | [{{:ressource:logiciel:imagemagick:motif.png?direct|motif.png}}] | ||
+ | |||
+ | De gauche à droite : M blanc sur fond transparent (200x200 pixels), motif (200x200 pixels) | ||
+ | |||
+ | **Etapes intermédiaires** | ||
+ | |||
+ | Plusieurs étapes intermédiaires pour arriver au résultat recherché (à droite) | ||
+ | |||
+ | [{{:ressource:logiciel:imagemagick:comp_009.png?direct|comp_009.png}}] | ||
+ | [{{:ressource:logiciel:imagemagick:motif2.png?direct|motif2.png}}] | ||
+ | [{{:ressource:logiciel:imagemagick:comp_010_trans.png?direct|comp_010.png}}] | ||
+ | [{{:ressource:logiciel:imagemagick:comp_011.png?direct|résultat}}] | ||
+ | |||
+ | <code> | ||
+ | convert -size 200x200 canvas:white \( motif.png -resize 200% -rotate 60 -crop 200x200+100+100 \) -composite comp_009.png | ||
+ | convert -size 200x200 canvas:white \( motif.png -resize 200% -rotate 30 -crop 200x200+100+100 \) -composite motif2.png | ||
+ | composite -compose In motif2.png m.png comp_010.png | ||
+ | convert comp_009.png comp_010.png -composite comp_011.png # resultat | ||
+ | </code> | ||
+ | |||
+ | La troisème étape utilise la commande **composite** d'Imagemagick, elle est associée à un opérateur **-compose** et un mot-clé **In** qui définit la manière dont les pixels des deux images seront mélangés. \\ | ||
+ | Il y a 4 grands types de composition : | ||
+ | * les opérateurs mathématiques (Multiply, Screen, Difference, Divide, etc.) | ||
+ | * les méthodes de composition Duff-Porter (Over, In, Out, Xor, etc.) | ||
+ | * les méthodes de composition basées sur la luminosité (Hard light, Soft light, Color dodge, etc.) | ||
+ | * les méthodes de composition basées sur les canaux : rouge, vert, bleu, alpha, saturation, luminosité, teinte | ||
+ | |||
+ | Dans la documentation on trouve des détails sur les [[http://www.imagemagick.org/Usage/compose/|différentes méthodes de composition]] et une [[http://www.imagemagick.org/Usage/compose/tables/|table de composition]] qui montre le résultat de chacune de ces méthodes (très pratique!) | ||
+ |