• HTML5 Canvas(7) 渐变


                var context = document.getElementById("myCanvas").getContext("2d");
    
                context.save();
                context.shadowBlur = 20; //模糊值
                context.shadowOffsetX = 10; //阴影向X偏移量
                context.shadowOffsetY = 10; //阴影向Y偏移量
                context.shadowColor = "blue"; //阴影颜色
                //context.shadowColor = "rgba(255,0,0,0.8)"; //也可以设置透明色
                context.fillRect(10, 10, 100, 100);
    
                //画一个带红色阴影的圆
                context.shadowColor = "red";
                context.shadowBlur = 50;
                context.shadowOffsetX = 0;
                context.shadowOffsetY = 0;
                context.beginPath();
                context.arc(200, 60, 50, 0, Math.PI * 2, false);
                context.fill();
    
                context.restore();
                //线性渐变
                var x = 10, y = 150, height = 100, width = 100;
                //createLinearGradient创建渐变色,起始点和结束点,画布不在这个范围内的不会有渐变效果
                var gradient1 = context.createLinearGradient(x, y, x, y + height);
                //增加渐变控制点
                gradient1.addColorStop(0, "red");
                gradient1.addColorStop(1, "green");
                context.fillStyle = gradient1;
                context.fillRect(x, y, width, height);
    
                //放射渐变原理是对连接2个圆圆周的椎体
                var x0 = 300, y0 = 300, r0 = 10, x1 = 100, y1 = 100, r1 = 50;
                var gradient2 = context.createRadialGradient(x0, y0, r0, x1, y1, r1);
                gradient2.addColorStop(0, "red");
                gradient2.addColorStop(1, "blue");
                context.fillStyle = gradient2;
                //context.globalCompositeOperation = "copy";
                context.fillRect(0, 0, 500, 500);
    
                //一般放射效果
                x0 = x1 = 300, y0 = y1 = 300;
                var gradient3 = context.createRadialGradient(x0, y0, r0, x1, y1, r1);
                gradient3.addColorStop(0, "white");
                gradient3.addColorStop(1, "black");
                context.fillStyle = gradient3;
                context.fillRect(x0 - 25, y0 - 25, 50, 50);
  • 相关阅读:
    向量求导几则公式备忘
    电脑硬件接触不良
    caffe编译新问题
    faster-rcnn 目标检测 数据集制作
    py-faster-rcnn 的makefile.config 注意事项
    ubuntu14.04 python + opencv 傻瓜式安装解决方案
    轻量级神经网络平台tiny-dnn实践
    OpenMP 并行编程
    React在Render中使用bind可能导致的问题
    为了cider,尝试emacs的坑
  • 原文地址:https://www.cnblogs.com/FlyCat/p/2580642.html
Copyright © 2020-2023  润新知