canvas——绘制矩形

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>矩形</title>
</head>
<body>
<div id="container">
    <canvas id="cavsElem">
        你的浏览器不支持canvas,请升级浏览器
    </canvas>
</div>
<script>
    (function(){
        var canvas = document.getElementById('cavsElem');
        var ctx = canvas.getContext('2d');
        canvas.width = 600;
        canvas.height = 600;
        canvas.style.border = '1px solid red';

        //绘制矩形ctx.rect(x,y,w,h);
        //前两个参数表示矩形左上角的点的x,y坐标,w,h表示矩形的宽高。
        ctx.rect(100,50,100,100);
        ctx.stroke();

        //描边矩形
        ctx.strokeRect(100,200,200,100);

        //填充矩形,默认填充黑色
        ctx.fillRect(100,350,300,200);
    })();
</script>
</body>
</html>

效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>填充矩形</title>
</head>
<body>
<div id="container">
    <canvas id="cavsElem">
        你的浏览器不支持canvas,请升级浏览器
    </canvas>
</div>
<script>
    (function(){
        var canvas = document.getElementById('cavsElem');
        var ctx = canvas.getContext('2d');
        canvas.width = 600;
        canvas.height = 600;
        canvas.style.border = '1px solid red';

        ctx.lineWidth = 12;
        //绘制矩形ctx.rect(x,y,w,h);
        //前两个参数表示矩形左上角的点的x,y坐标,w,h表示矩形的宽高。
        ctx.rect(100,50,100,100);
        ctx.strokeStyle = 'red';
        ctx.stroke();
        ctx.fillStyle = 'yellow';
        ctx.fill();

        //描边矩形,是一个空心矩形,不会被填充
        ctx.strokeStyle = 'green';
        ctx.strokeRect(100,200,200,100);
        //ctx.fill();不起作用

        //填充矩形,默认填充黑色
        ctx.beginPath();
        ctx.fillStyle = 'pink';
        ctx.fillRect(100,350,300,200);
    })();
</script>
</body>
</html>

效果:

 1、快速创建矩形rect()方法

 

    * 语法:ctx.rect(x, y, width, height);
    * 解释:x, y是矩形左上角坐标, width和height都是以像素计
    * rect方法只是规划了矩形的路径,并没有填充和描边。

 

2、快速创建描边矩形和填充矩形

 

    * 语法: ctx.strokeRect(x, y, width, height);
        - 参数跟rect方法相同,注意此方法绘制完路径后立即进行stroke绘制
    * 语法:ctx.fillRect(x, y, width, height);
        - 参数跟rect方法相同, 此方法执行完成后。立即对当前矩形进行fill填充。

 

3、 清除矩形(clearRect)

 

    * 语法:ctx.clearRect(x, y, width, hegiht);

 

    * 解释:清除某个矩形内的绘制的内容,相当于橡皮擦。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>清除矩形</title>
</head>
<body>
<div id="container">
    <canvas id="cavsElem">
        你的浏览器不支持canvas,请升级浏览器
    </canvas>
</div>
<script>
    (function(){
        var canvas = document.getElementById('cavsElem');
        var ctx = canvas.getContext('2d');
        canvas.width = 600;
        canvas.height = 600;
        canvas.style.border = '1px solid red';

        //创建矩形
        ctx.lineWidth = 12;
        ctx.rect(100,50,400,400);
        ctx.strokeStyle = 'red';
        ctx.stroke();
        ctx.fillStyle = 'yellow';
        ctx.fill();

        //清除矩形
        ctx.clearRect(200,150,200,200);
    })();
</script>
</body>
</html>

效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值