canvas Three 各种图形

经过前面的线、三角形,现在是各种图形n.n

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{
            background: #000;
        }
        canvas{
            background:#fff;
        }
    </style>
    <script>
        document.addEventListener("DOMContentLoaded",function(){
            //将角度转化为弧度
            function d2a(n){
                return n*Math.PI/180;
            }
            var oC = document.getElementById("canvas1");
            var gd = oC.getContext("2d");

            //不填充矩形
            gd.beginPath();
            gd.lineWidth = 20;
            gd.strokeStyle = "green";
            gd.strokeRect(50,50,160,100);//context.strokeRect(x,y,width,height);

            //gd.stroke();//这里就不需要用stroke画了

            //填充矩形
            gd.beginPath();
            gd.lineWidth = 20;
            gd.strokeStyle = "green";
            gd.fillStyle = "yellow";
            gd.strokeRect(300,50,160,100);
            gd.fillRect(300,50,160,100);

            //不填充圆
            gd.beginPath();
            //不写颜色的情况下,继承最近的颜色
            gd.lineWidth = 20;
            gd.arc(130,300,80,d2a(0),d2a(360),false);
            gd.closePath();
            gd.stroke();

            //填充圆
            gd.beginPath();
            gd.lineWidth = 20;
            gd.arc(380,300,80,d2a(0),d2a(360),false);
            gd.closePath();
            gd.fill();//圆的填充边框不会被遮盖
            gd.stroke();

            //画弧
            gd.beginPath();
            gd.lineWidth = 20;
            gd.arc(600,300,80,d2a(0),d2a(135),false);
            gd.closePath();//不加是不封闭的弧边
            gd.fill();//圆的填充边框不会被遮盖
            gd.stroke();
        },false);
    </script>
</head>
<body>
<canvas id="canvas1" width="800" height="600">
    浏览器需要更新!!!
</canvas>
</body>
</html>

效果图:


3872133-1805001b0360e990.png
Paste_Image.png

1、StrokeRect()画矩形
w3c定义:


3872133-aa8737a57569a18b.png
Paste_Image.png

2、arc();画弧
w3c定义:


3872133-c475f9eaacb8b847.png
Paste_Image.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值