canvas学习之-七色板

本文详细介绍了如何使用JavaScript绘制一系列复杂图形,并通过HTML、CSS和JavaScript代码实现了一个动态生成不同颜色圆环的实例。

效果图112037_ndiD_1162680.png

html

<canvas id="canvas" class="canvas" width="600" height="600"></canvas>

css

  html,body{margin: 0;padding: 0}
  .canvas{display: block; margin-left:auto;margin-right:auto;margin-top: 50px;}

javascript

    var disk = [
        {
            area:[{x:0,y:0},{x:600,y:0},{x:300,y:300}],
            color:"#CBF263"
        },
        {
            area:[{x:0,y:0},{x:0,y:600},{x:300,y:300}],
            color:"#5CB6D0"
        },
        {
            area:[{x:0,y:600},{x:300,y:600},{x:150,y:450}],
            color:"#FE9CCD"
        },
        {
            area:[{x:150,y:450},{x:300,y:300},{x:450,y:450},{x:300,y:600}],
            color:"#A696C3"
        },
        {
            area:[{x:300,y:600},{x:600,y:600},{x:600,y:300}],
            color:"#FBC421"
        },
        {
            area:[{x:600,y:300},{x:600,y:0},{x:450,y:150},{x:450,y:450}],
            color:"#FF5061"
        },
        {
            area:[{x:450,y:450},{x:450,y:150},{x:300,y:300}],
            color:"#FDEA11"
        }
    ]

    window.onload = function(){
        var canvasDom = document.getElementById("canvas");

        var ctx = canvasDom.getContext("2d");

        drawDisk(disk,ctx)
    }
    function drawDisk(disk,ctx){

        for(var i = 0;i<disk.length;i++){

            ctx.beginPath();
            ctx.moveTo(disk[i].area[0].x,disk[i].area[0].y);
            for(var j = 1;j<disk[i]["area"].length;j++){
                ctx.lineTo(disk[i].area[j].x,disk[i].area[j].y);
            }
            ctx.closePath();

            ctx.fillStyle = disk[i]["color"];
            ctx.fill();
        }

    }


转载于:https://my.oschina.net/wbo0801/blog/425227

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值