canvas渐变

简介: canvas渐变

就不多介绍了,单纯为了回忆一下canvas的渐变属性的写法;


绘制渐变图形


效果:

20170922161730253.png

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<!--linearGradient-->
<canvas id="canvas" width="500" height="500"></canvas>
<script>
    function draw(id){
        var canvas=document.getElementById(id);
        var context=canvas.getContext("2d");
        var g1=context.createLinearGradient(0,0,0,300);
        g1.addColorStop(0,"rgb(250,255,0)");
        g1.addColorStop(1,"rgb(0,255,255)");
        context.fillStyle=g1;
        context.fillRect(0,0,500,500);
        var g2=context.createLinearGradient(0,0,300,0);
        g2.addColorStop(0,"rgba(0,0,255,0.5)");
        g2.addColorStop(1,"rgba(255,0,0,0.5)");
        for(var i=0;i<10;i++){
            context.beginPath();
            context.fillStyle=g2;
            context.arc(i*25,i*25,i*10,0,Math.PI*2,true);
            context.closePath();
            context.fill();
        }
    }
    window.onload=function(){
        draw("canvas");
    }
</script>
</body>
</html>

绘制径向渐变


效果

20170922161756987.png

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<!--绘制径向渐变-->
 <canvas id="canvas" width="500" height="500"></canvas>
<script>
    function draw(id){
        var canvas=document.getElementById(id);
        if(canvas==null){
            return false
        }
        var context=canvas.getContext("2d");
        var g1=context.createRadialGradient(400,0,0,400,0,400);
        g1.addColorStop(0.1,"rgb(255,255,0");
        g1.addColorStop(0.3,"rgb(255,0,255)");
        g1.addColorStop(1,"rgb(0,255,255)");
        context.fillStyle=g1;
        context.fillRect(0,0,500,500);
    }
    window.onload=function(){
        draw("canvas")
    }
</script>
</body>
</html>

简单动画

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<canvas id="canvas" width="500" height="500"></canvas>
<button id="startBtn">开始绘制</button>
<script>
    function draw(id){
        var canvas=document.getElementById(id);
        if(canvas==null){
            return false
        }
        var context=this.context=canvas.getContext('2d');
        context.fillStyle="#eeeeee";
        context.fillRect(0,0,500,500);
        context.translate(250,50);
        context.fillStyle="rgba(255,0,0,0.25)";
        setInterval(function(){
               one()
        },100)
    }
    function one(){
        var context=this.context;
        context.translate(25,25);
        context.scale(0.95,0.95);
        context.rotate(Math.PI/10);
        context.fillRect(0,0,100,50)
    }
    var startBtn=document.getElementById("startBtn");
    startBtn.addEventListener("click",function(){
        draw("canvas");
    })
</script>
</body>
</html>
目录
相关文章
|
机器学习/深度学习 测试技术 计算机视觉
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
323 14
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
|
传感器 算法 定位技术
【信号处理】扩展卡尔曼滤波EKF(Matlab代码实现)
【信号处理】扩展卡尔曼滤波EKF(Matlab代码实现)
778 0
【信号处理】扩展卡尔曼滤波EKF(Matlab代码实现)
|
NoSQL 大数据 关系型数据库
AllData数据中台核心菜单十一:数据集成平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
AllData数据中台核心菜单十一:数据集成平台
|
关系型数据库 MySQL 持续交付
使用阿里云服务器如何搭建网站?超简单教程!
在阿里云服务器上搭建网站非常简单,尤其是使用轻量应用服务器。只需从应用镜像中选择WordPress镜像,系统将自动安装WordPress及所需环境(PHP、MySQL等)。全过程自动化,无需手动部署。约2-3分钟后,通过服务器公网IP或绑定阿里云域名即可访问和管理网站。详细步骤可参考官方文档。
823 5
|
数据采集 数据挖掘 数据处理
Python爬虫开发:爬取简单的网页数据
本文详细介绍了如何使用Python爬取简单的网页数据,以掘金为例,展示了从发送HTTP请求、解析HTML文档到提取和保存数据的完整过程。通过这个示例,你可以掌握基本的网页爬取技巧,为后续的数据分析打下基础。希望本文对你有所帮助。
|
机器学习/深度学习 人工智能 算法
深入了解AI算法及其实现过程
人工智能(AI)已经成为现代技术发展的前沿,广泛应用于多个领域,如图像识别、自然语言处理、智能推荐系统等。本文将深入探讨AI算法的基础知识,并通过一个具体的实现过程来展示如何将AI算法应用于实际问题。
1950 0
|
Linux C语言 Ubuntu
Linux驱动入门——编写第一个驱动
Linux驱动入门——编写第一个驱动
Linux驱动入门——编写第一个驱动
|
并行计算 定位技术
ArcGIS中ArcMap分割栅格Split Raster工具没有结果的解决
ArcGIS中ArcMap分割栅格Split Raster工具没有结果的解决
644 1
|
XML 设计模式 Java
springboot创建并配置环境3 - 配置扩展属性(下)
springboot创建并配置环境3 - 配置扩展属性(下)
springboot创建并配置环境3 - 配置扩展属性(下)
|
算法 Java C++
branch and price求解VRPTW问题代码详解
branch and price求解VRPTW问题代码详解
964 0
branch and price求解VRPTW问题代码详解

热门文章

最新文章