Usando cores e gradientes com o Tag HTML5 Canvas
Quase todos os operação em HTML5 do lona
função implementa um estilo de preenchimento ou traçado. Para tirar o máximo proveito da tela, você precisa entender como eles funcionam. Os três principais tipos de estilos que você pode usar em preenchimentos e traçados são as cores, gradientes e padrões.Aplicando cores com a tag canvas HTML5
Para especificar uma cor de preenchimento ou traçado no lona tag, você pode usar as mesmas ferramentas de cores que você usa em CSS e HTML:
valores hexadecimais de seis dígitos: O esquema hexadecimal de seis dígitos comumente usados em CSS usa dois dígitos cada para vermelho, verde e azul. O valor começa com um sinal de libra. Por exemplo, # FF0000 é vermelho, e # FFFF00 é amarela.
valores hexadecimais de três dígitos: valores de cor Hex muitas vezes usam valores de repetição, para que possa abreviar esses valores como números de três dígitos. Neste esquema, o vermelho é # F00, e amarelo está # ff0.
nomes de cores: Muitas vezes é possível usar nomes de cores, como "vermelho" ou "amarelo". nomes de cores comum normalmente vai funcionar, mas nem todos os navegadores suportam a mesma lista de cor names- "papaya whip" não é susceptível de ser apoiada.
RGB e RGBA valores: Você pode usar o rgb () função para criar cores usando números inteiros (0-255) ou porcentagens (0% -100%). vermelho é RGB (255, 0, 0) e amarelo está RGB (100%, 100%, 0%). Note-se que o rgb função deve ir entre aspas como qualquer outro valor de cor. Se você quiser incluir alfa, adicionar um quarto parâmetro, que é um valor de zero e um. vermelho transparente seria rgba (255, 0, 0, 0,5).
HSL e HSLA: O novo hsl e HSLA formatos de cor é suposto ser suportada pelo lona elemento, mas, até agora, o suporte para esses recursos varia de acordo com browser.
Note-se que os vários valores para uma cor são sempre entre aspas. O parâmetro cor é uma cadeia que pode ser interpretado como uma cor CSS.
Aplicando gradientes com a tag canvas HTML5
Você também pode preencher uma forma com um gradiente. gradientes de lona são definidos em duas etapas:
Criar um objeto de inclinação. Existem dois métodos incorporados ao objeto de contexto para isso. Um constrói gradientes lineares, eo outro cria gradientes radiais.
Adicionar limites de cor. UMA interrupção de cor é um elemento especial que indica a cor a ser adicionada ao gradiente. Você pode adicionar tantas cores como você quer, e você também pode especificar onde ao longo do padrão de gradiente a cor aparece.
O código a seguir constrói um gradiente radial e um gradiente linear em uma lona:
draw function () {var desenho = document.getElementById ( "desenho") - var con = drawing.getContext ( "2d") - // construir um linear gradientlGrad = con.createLinearGradient (0,0,100,200) -lGrad.addColorStop (0 , "# FF0000") - lGrad.addColorStop (0,5, "# 00FF00") - lGrad.addColorStop (1, "# 0000FF") - con.fillStyle = lGrad-con.fillRect (0, 0, 100, 200) - // construir um radial gradientrGrad = con.createRadialGradient (150, 100,0, 150, 100, 100) -rGrad.addColorStop (0, "# FF0000") - rGrad.addColorStop (0,5, "# 00FF00") - rGrad.addColorStop (1, "# 0000FF") - con.fillStyle = rGrad-con.fillRect (100,0, 200, 200) -} // sorteio final
A saída desse código é mostrado aqui:
UMA linear gradiente é um padrão de cores que se misturam uns aos outros ao longo de um caminho em linha reta. Para definir um gradiente linear, siga estes passos:
Criar uma variável para manter o gradiente.
Gradientes são um pouco mais complexo do que cores simples, então eles são armazenados em variáveis para ser reutilizado.
Construir o gradiente, usando o createLinearGradient () método do objecto de contexto para construir um gradiente linear.
Defina o caminho de gradiente com o createLinearGradient () método.
Espera-se quatro parâmetros que definem uma linha (x1, y1, x2, y2). As cores será perpendicular a esta linha, então se você quiser faixas de cores horizontais, desenhar uma linha vertical. Se você quiser bandas de cor verticais, desenhe uma linha horizontal. A linha normalmente ocupa toda a largura ou altura do elemento, mas não precisa. Se a linha é mais pequeno do que a imagem, a área em excesso será atribuído automaticamente a cor a partir da extremidade mais próxima do gradiente.
Adicionar limites de cor.
Gradientes não são muito divertido, sem cores. o addColorStop () método do objeto gradiente permite que você adicione uma cor para o gradiente. Cada parada cor tem dois parâmetros: posição e cor. A posição é um valor 0-1 indicando onde na linha de gradiente a cor deve ser posicionado. 0 é o começo, 1 é a extremidade, e valores intermédios estão no meio. O parâmetro de cor é um valor de texto que pode ser avaliada como uma cor CSS. No mínimo, é necessário definir dois limites de cor, um para o início e para um final.
Aplique o gradiente como um padrão de preenchimento.
Se você quiser usar o gradiente como um padrão de preenchimento, definir o contexto de fillStyle à variável gradiente que você acabou de criar. Todos os preenchimentos subsequentes será feito usando o padrão de gradiente (até o fillStyle é alterado para algo mais).
gradientes radiais são semelhantes. Ao invés de desenhar um gradiente em uma linha reta, eles desenhar uma série de faixas de cores circulares. A primeira cor é o centro do círculo, e a última cor define um raio exterior. Construindo um gradiente radial é muito semelhante à construção de um gradiente linear. A única diferença é a crio comando.
Use o console objeto de createRadialGradient () Método para construir um gradiente radial. Este comando, na verdade, leva seis parâmetros:
beginX: A posição X do ponto de partida. Isso é muitas vezes no centro da sua forma.
beginY: Junto com beginX, o que determina a posição de início de sua inclinação.
beginRadius: O raio do seu círculo central. Normalmente, isso é zero, mas você pode torná-lo maior, se você quer enfatizar a cor center mais.
FimX: Descreve a posição X do círculo final. Tipicamente, isto é o mesmo que beginX.
Endy: Junto com FimX, define a posição do círculo final. Se o início e círculos que terminam têm as mesmas posições, você vai ter um gradiente circular. Mudar a posição final para fazer o trecho gradiente em uma direção particular.
endRadius: O raio terminando define onde o último gradiente de cor será colocado. Os valores mais pequenos para este raio irá levar a um gradiente firmemente agrupados, e valores maiores irá espalhar ao longo do gradiente de uma área maior.
Uma vez que o gradiente é definido, o addColorStops () método funciona exatamente como ele faz para gradientes lineares. A variável criada através do addRadialGradient () comando é normalmente armazenado em uma variável, onde ela pode ser usada para a subsequente fillStyle () pedidos.