Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
ressource:logiciel:imagemagick:composition_images [2020/05/07 17:04]
emoc créée
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) 
 + 
 +Pour les exemples ci-dessous, les images sont placées de la manière suivante : 
 + 
 +{{:​ressource:​logiciel:​imagemagick:​superposition.png?​direct&​400|}} 
 + 
 +==== Superposition simple ==== 
 + 
 +Superposer 3 images et les aplatir, l'​image de destination fera la taille définie par size \\ 
 +Les images sont en pile : fond jaune, par dessus : a.png, par dessus : zz.png placées à partir du point en haut à gauche \\ 
 +  # 20200507 / ImageMagick 6.9.7-4 Q16 x86_64 / Debian Stretch 9.5 @ Kirin 
 +  convert -size 200x200 canvas:​yellow a.png zz.png -layers flatten comp_001.png 
 + 
 +{{:​ressource:​logiciel:​imagemagick:​comp_001.png?​direct|}} 
 + 
 +==== Superposition avec décalage ==== 
 + 
 +Superposer 3 images et les aplatir, l'​image de destination fera la taille définie par size \\ 
 +Les images sont en pile : fond jaune, par dessus : a.png, par dessus : zz.png placées à partir du point en haut à gauche \\ 
 +Chaque image est décalée selon les coordonnées fixés par l'​opérateur -page \\ 
 +  # 20200507 / ImageMagick 6.9.7-4 Q16 x86_64 / Debian Stretch 9.5 @ Kirin 
 +  convert -size 200x200 canvas:​yellow -page +0+25 a.png -page -100+0 zz.png -layers flatten comp_002.png 
 + 
 +{{:​ressource:​logiciel:​imagemagick:​comp_002.png?​direct|}} 
 + 
 +==== Superpositions avec décalage, mise à l'​échelle,​ découpe ==== 
 + 
 +Superposer 3 images et les aplatir, l'​image de destination fera la taille définie par size \\ 
 +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 \\ 
 + 
 +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 
 +  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 
 + 
 +{{:​ressource:​logiciel:​imagemagick:​comp_003.png?​direct|}} 
 + 
 +Superposer 3 images et les aplatir, l'​image de destination fera la taille définie par size \\ 
 +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 piexels de distance du point en haut à gauche \\ 
 +   # 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 -resize 50x50 \) -geometry +100+100 -composite comp_004.png 
 + 
 +{{:​ressource:​logiciel:​imagemagick:​comp_004.png?​direct|}} 
 + 
 +==== Superpositions avec décalage, mise à l'​échelle,​ rotation ==== 
 +   
 +  # 20200507 / ImageMagick 6.9.7-4 Q16 x86_64 / Debian Stretch 9.5 @ Kirin 
 +  convert -size 200x200 canvas:​yellow \( a.png -background none -rotate 45 \) -geometry +50+50 -composite \( zz.png -resize 100x100 -background none -rotate 60 \) -geometry +100+100 -composite comp_005.png 
 + 
 +{{:​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!)
 + 
  • ressource/logiciel/imagemagick/composition_images.1588863869.txt.gz
  • Dernière modification: 2020/05/07 17:04
  • par emoc