⚠️ Este é um site de tradução não oficial, sem relação com a ImageMagick Studio LLC. Para informações oficiais, consulte a página original (https://imagemagick.org/gradient/).

Gradiente de Imagem

Um gradiente de imagem cria uma mistura gradual entre duas cores formada em uma forma linear, circular ou elíptica.

Para um gradiente linear, o operador é um dos seguintes:

gradient:
gradient:_fromColor_
gradient:_fromColor_ -_toColor_

A menos que sejam sobrescritos, o fromColor padrão é branco e o toColor é preto. Por exemplo, gradient:gray retorna um gradiente de cinza para preto.

Para um gradiente radial, o operador é um dos seguintes:

radial-gradient:
radial-gradient:_fromColor_ -_toColor_

O padrão para um gradiente linear coloca o fromColor no topo da imagem e o toColor na parte inferior da imagem. De forma semelhante, o padrão para um gradiente radial coloca o fromColor no centro da imagem e o toColor na borda da imagem.

As cores do gradiente podem ser qualquer cor válida definida em https://imagemagick.org/color/. As cores nomeadas black/white/grayXX e gray(XX[%]) são cinzas não lineares. Em sistemas Linux, coloque as cores rgb(a) e hexadecimais entre aspas. Use aspas duplas se estiver usando variáveis para os valores.

Aqui está um exemplo de gradiente linear (em oposição ao radial):

magick -size 256x256 gradient: linear_gradient.png
magick -size 256x256 gradient:white-black linear_gradient.png

linear gradient

Se você quiser um gradiente radial, tente:

magick -size 256x256 radial-gradient: radial_gradient.png
magick -size 256x256 radial-gradient:white-black radial_gradient.png

radial gradient

Se você quiser gradientes em tons de cinza não lineares, adicione -colorspace RGB -colorspace gray antes de salvar a saída. Por exemplo:

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

Os gradientes são afetados por estes defines:

-define gradient:vector=x1,y1, x2,y2 Especifica a direção do gradiente linear indo de vector1 (x1,y1) para vector2 (x2,y2). O fromColor fica localizado na posição de vetor x1,y1 e o toColor fica localizado na posição de vetor x2,y2.
-define gradient:center=x,y Especifica as coordenadas do ponto central do gradiente radial. O padrão é o centro da imagem.
-define gradient:radii=x,y Especifica os raios x e y do gradiente. Se o raio x e o raio y forem iguais, a forma do gradiente radial será um círculo. Se diferirem, a forma será uma elipse. Os valores padrão são o máximo entre a metade da largura e a metade da altura da imagem.
-define gradient:angle=angle in degrees Para um gradiente linear, isso especifica a direção do gradiente indo de fromColor para toColor no sentido horário positivo em relação ao norte (para cima). Para um gradiente radial, isso especifica a rotação do gradiente no sentido horário positivo a partir de sua orientação X-Y normal.
-define gradient:bounding-box=widthxheight+x+y Limita o gradiente a uma região maior ou menor que as dimensões da imagem. Se a região definida pela caixa delimitadora for menor que a imagem, o fromColor será a cor do plano de fundo.

Também oferecemos suporte a dois defines de conveniência para definir a direção do gradiente linear e a forma do gradiente radial.

-define gradient:direction={NorthWest, North, Northeast, West, East, SouthWest, South, SouthEast} Especifica a direção do gradiente linear em direção ao topo/base/esquerda/direita ou aos cantos diagonais.
-define gradient:extent={Circle, Diagonal, Ellipse, Maximum, Minimum} Especifica a forma de um gradiente radial centrado na imagem. Circle e Maximum desenham um gradiente radial circular mesmo para imagens de forma retangular, com raio igual ao maior entre a metade da largura e a metade da altura da imagem. As opções Circle e Maximum são ambas equivalentes ao gradiente radial padrão. A opção Minimum desenha um gradiente radial circular mesmo para imagens de forma retangular, com raio igual ao menor entre a metade da largura e a metade da altura da imagem. A opção Diagonal desenha um gradiente radial circular mesmo para imagens de forma retangular, com raio igual à metade da diagonal da imagem. A opção Ellipse desenha um gradiente radial elíptico para imagens de forma retangular, com raios iguais à metade da largura e à metade da altura da imagem.

Exemplos

O gradiente linear padrão também pode ser gerado de qualquer uma das seguintes maneiras (ou invertendo a direção e trocando fromColor e 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

linear gradient

O equivalente de

magick -size 128x256 gradient: -rotate 90 linear_gradient_east.png

pode ser gerado por qualquer um dos seguintes (ou invertendo a direção e trocando fromColor e 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

radial gradient east

Exemplos de gradientes radiais indo do preto no centro ao branco na borda, para os casos de "maximum/circle/padrão", "minimum", "diagonal", "ellipse" e elipse rotacionada em 45 graus, respectivamente, seguem abaixo.

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

radial gradient maximum

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

radial gradient ellipse

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

radial gradient ellipse angle 45