Dégradé d'image
Un dégradé d'image crée un mélange progressif entre deux couleurs, formé selon une forme linéaire, circulaire ou elliptique.
Pour un dégradé linéaire, l'opérateur est l'un des suivants :
gradient:
gradient:_fromColor_
gradient:_fromColor_ -_toColor_
Sauf si elle est redéfinie, la valeur par défaut de fromColor est le blanc et celle de toColor le noir. Par exemple, gradient:gray renvoie un dégradé du gris vers le noir.
Pour un dégradé radial, l'opérateur est l'un des suivants :
radial-gradient:
radial-gradient:_fromColor_ -_toColor_
Par défaut, un dégradé linéaire place fromColor en haut de l'image et toColor en bas de l'image. De même, par défaut, un dégradé radial place fromColor au centre de l'image et toColor à la limite de l'image.
Les couleurs du dégradé peuvent être n'importe quelle couleur valide définie selon https://imagemagick.org/color/. Les couleurs nommées black/white/grayXX et gray(XX[%]) sont des gris non linéaires. Sur les systèmes Linux, placez les couleurs rgb(a) et hexadécimales entre guillemets. Utilisez des guillemets doubles si vous employez des variables pour les valeurs.
Voici un exemple de dégradé linéaire (par opposition à radial) :
magick -size 256x256 gradient: linear_gradient.png
magick -size 256x256 gradient:white-black linear_gradient.png

Si vous voulez un dégradé radial, essayez :
magick -size 256x256 radial-gradient: radial_gradient.png
magick -size 256x256 radial-gradient:white-black radial_gradient.png

Si vous voulez des dégradés en niveaux de gris non linéaires, ajoutez -colorspace RGB -colorspace gray avant d'enregistrer la sortie. Par exemple :
magick -size 256x256 gradient: linear_gradient.png
magick -size 256x256 gradient:white-black -colorspace RGB -colorspace gray linear_linear_gradient.png
magick -size 256x256 radial-gradient: radial_gradient.png
magick -size 256x256 radial-gradient:white-black -colorspace RGB -colorspace gray linea_radial_gradient.png
Les dégradés sont affectés par ces directives define :
| -define gradient:vector=x1,y1, x2,y2 | Indique la direction du dégradé linéaire allant de vector1 (x1,y1) à vector2 (x2,y2). fromColor est situé à la position de vecteur x1,y1 et toColor est situé à la position de vecteur x2,y2. |
|---|---|
| -define gradient:center=x,y | Indique les coordonnées du point central du dégradé radial. La valeur par défaut est le centre de l'image. |
| -define gradient:radii=x,y | Indique les rayons x et y du dégradé. Si le rayon x et le rayon y sont égaux, la forme du dégradé radial sera un cercle. S'ils diffèrent, la forme sera une ellipse. Les valeurs par défaut correspondent au maximum entre la demi-largeur et la demi-hauteur de l'image. |
| -define gradient:angle=angle in degrees | Pour un dégradé linéaire, indique la direction du dégradé allant de fromColor vers toColor dans le sens horaire positif par rapport au nord (vers le haut). Pour un dégradé radial, indique la rotation du dégradé dans le sens horaire positif à partir de son orientation X-Y normale. |
| -define gradient:bounding-box=widthxheight+x+y | Limite le dégradé à une région plus grande ou plus petite que les dimensions de l'image. Si la région définie par le cadre englobant est plus petite que l'image, fromColor devient la couleur de l'arrière-plan. |
Nous prenons également en charge deux directives define pratiques pour définir la direction du dégradé linéaire et la forme du dégradé radial.
| -define gradient:direction={NorthWest, North, Northeast, West, East, SouthWest, South, SouthEast} | Indique la direction du dégradé linéaire vers le haut/bas/gauche/droite ou vers les coins diagonaux. |
|---|---|
| -define gradient:extent={Circle, Diagonal, Ellipse, Maximum, Minimum} | Indique la forme d'un dégradé radial centré sur l'image. Circle et Maximum tracent un dégradé radial circulaire, même pour des images rectangulaires, dont le rayon est égal au plus grand de la demi-largeur et de la demi-hauteur de l'image. Les options Circle et Maximum sont toutes deux équivalentes au dégradé radial par défaut. L'option Minimum trace un dégradé radial circulaire, même pour des images rectangulaires, dont le rayon est égal au plus petit de la demi-largeur et de la demi-hauteur de l'image. L'option Diagonal trace un dégradé radial circulaire, même pour des images rectangulaires, dont le rayon est égal à la demi-diagonale de l'image. L'option Ellipse trace un dégradé radial elliptique pour des images rectangulaires, dont les rayons sont égaux à la moitié de la largeur et à la moitié de la hauteur de l'image. |
Exemples
Le dégradé linéaire par défaut peut aussi être généré de l'une des manières suivantes (ou en inversant la direction et en échangeant fromColor et toColor) :
magick -size 256x128 -define gradient:direction=north gradient:black-white linear_gradient_default.png
magick -size 256x128 -define gradient:angle=0 gradient:black-white linear_gradient_default.png

L'équivalent de
magick -size 128x256 gradient: -rotate 90 linear_gradient_east.png
peut être généré par l'une des manières suivantes (ou en inversant la direction et en échangeant fromColor et toColor) :
magick -size 256x128 -define gradient:direction=east gradient:black-white linear_gradient_east.png
magick -size 256x128 -define gradient:angle=90 gradient:black-white linear_gradient_east.png

Des exemples de dégradés radiaux allant du noir au centre vers le blanc à la limite, pour les cas « maximum/circle/par défaut », « minimum », « diagonal », « ellipse » et ellipse pivotée de 45 degrés, sont présentés ci-dessous dans cet ordre.
magick -size 256x128 radial-gradient:black-white radial_gradient_maximum.png
magick -size 256x128 -define gradient:radii=128,128 radial-gradient:black-white radial_gradient_maximum.png

magick -size 256x128 -define gradient:extent=minimum radial-gradient:black-white radial_gradient_minimum.png
magick -size 256x128 -define gradient:radii=64,64 radial-gradient:black-white radial_gradient_minimum.png

magick -size 256x128 -define gradient:extent=diagonal radial-gradient:black-white radial_gradient_diagonal.png

magick -size 256x128 -define gradient:extent=ellipse radial-gradient:black-white radial_gradient_ellipse.png
magick -size 256x128 -define gradient:radii=128,64 radial-gradient:black-white radial_gradient_ellipse.png

magick -size 256x256 -define gradient:radii=128,64 -define gradient:angle=45 radial-gradient:black-white radial_gradient_ellipse_angle45.png
