Maison  >  Article  >  interface Web  >  HTML5-5 __Canvas : Dégradé

HTML5-5 __Canvas : Dégradé

黄舟
黄舟original
2017-02-18 14:24:201373parcourir

Le dégradé est une méthode de dessin appliquée aux couleurs

L'utilisation du dégradé nécessite trois étapes :

1. Créer un objet dégradé

. 2. Définissez la couleur de l'objet dégradé, c'est-à-dire utilisez la fonction addColorStop() pour spécifier la méthode de transition. La fonction addColorStop vous permet de spécifier deux paramètres : la couleur et le décalage. que le développeur espère atteindre. La couleur à utiliser pour le contour ou le remplissage. Le décalage est une valeur comprise entre 0,0 et 1,0, qui représente la distance le long de la ligne de dégradé.

3. Définissez le style de remplissage ou le style de trait sur le dégradé contextuel.

Le dégradé peut être considéré comme la couleur changeant lentement le long d'une ligne.

Veuillez consulter le code


<!DOCTYPE html>
<html>
<meta charset="UTF-8">
  <title>渐变</title>

  <canvas id="trails" style="border: 1px solid;"  width="400" height="400"> </canvas>
  <script>
        var gravel = new Image();
        gravel.src = "gravel.jpg";
        gravel.onload = function () {
            drawTrails();
        }

        function createCanopyPath(context) {
            context.beginPath();
            context.moveTo(-25, -50);
            context.lineTo(-10, -80);
            context.lineTo(-20, -80);
            context.lineTo(-5, -110);
            context.lineTo(-15, -110);

            context.lineTo(0, -140);

            context.lineTo(15, -110);
            context.lineTo(5, -110);
            context.lineTo(20, -80);
            context.lineTo(10, -80);
            context.lineTo(25, -50);
            context.closePath();
        }

        function drawTrails() {
            var canvas = document.getElementById(&#39;trails&#39;);
            var context = canvas.getContext(&#39;2d&#39;);

            context.save();
            context.translate(130, 250);

            // 创建用作树干纹理的三阶水平渐变
            var trunkGradient = context.createLinearGradient(-5, -50, 5, -50);

            // The beginning of the trunk is medium brown
            trunkGradient.addColorStop(0, &#39;#663300&#39;);

            // 树干中间偏左的位置颜色要淡一些
            trunkGradient.addColorStop(0.4, &#39;#996600&#39;);

            // 树干右侧边缘的颜色要深一些
            trunkGradient.addColorStop(1, &#39;#552200&#39;);

            // 使用渐变色填充树干
            context.fillStyle = trunkGradient;
            context.fillRect(-8, -50,15, 100);
            //然后,创建垂直渐变,以用作树冠在树干上投影
            var canopyShadow = context.createLinearGradient(0, -50, 0, 0);

            // 投影渐变的起点是透明度设为50%的黑色
            canopyShadow.addColorStop(0, &#39;rgba(0, 0, 0, 0.5)&#39;);

            // 方向垂直向下, 渐变色在很短的距离内迅速渐变至完全透明, 这段长度之外的树干上没有投影
            canopyShadow.addColorStop(0.2, &#39;rgba(0, 0, 0, 0.0)&#39;);

            // 在树干上填充投影渐变
            context.fillStyle = canopyShadow;
            context.fillRect(-5, -50, 10, 50);

            createCanopyPath(context);

            context.lineWidth = 4;
            context.lineJoin = &#39;round&#39;;
            context.strokeStyle = &#39;#663300&#39;;
            context.stroke();

            context.fillStyle = &#39;#339900&#39;;
            context.fill();

            context.restore();
        }

  </script>
</html>





En plus du dégradé linéaire ci-dessus, la toile Prend en charge les dégradés radiaux, où la couleur change en douceur dans une zone en forme de cône entre deux cercles spécifiés. La méthode

est createRaddialGraddient(x0,y 0, r0, x1, y1, r1); Il y a 6 paramètres au total. Les 3 premiers paramètres représentent un cercle avec (x0, y0) comme centre et r0 comme rayon. Les 3 derniers paramètres représentent un autre cercle avec (x1, y1) comme centre et r1 comme rayon. . Le dégradé sera en La zone entre les deux cercles apparaît

Pièce jointe, photo gravel.jpg

.

Ce qui précède est le contenu de HTML5 5 __Canvas : dégradé Pour plus de contenu connexe, veuillez faire attention. sur le site Web PHP chinois (www.php.cn ) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn