利用canvas绘制矩形和圆形

首先先来简单的了解一下canvas,canvas就相当于是一块画布,我们可以在上边绘制任何我们需要的图形。(如我们下边需要讲的矩形和圆形。)

首先我们要先制定ID,width,height;在脚本处引入canvas.js(一会js代码都存放在这里面)另外不要忘记很重要的一步,那就是在body处加载函数οnlοad=‘draw(canvas)’<这里draw函数是我们在js代码中的函数名。>

接下来就是正式开始绘图了;

首先,先编写简单的html代码:
代码如下所示:

<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="js/canvas.js" type="text/javascript" charset="gb2312"></script>
        <!--利用fillstyle和stokestyle可以设置填充样式以及边框样式。。-->
    </head>
    <body onload="draw('canvas')">
        <h1>canvas元素实例</h1>
        <canvas id="canvas" width="400" height="300">查看是否支持</canvas>
    </body>
</html>

//接下来编写矩形块:

function draw(id){ 
    var canvas = document.getElementById('canvas');
    if(canvas == null){ 
        return false;
    }
    var context = canvas.getContext('2d');
    //绘制矩形
    context.fillStyle = '#ff4200';//fillStyle代表的是填充颜色
    context.fillRect(0,0,400,300);//fillRect中第一第二个参数代表的是开始的坐标位置,这里是0,0也就是代表从左上角开始,第三第四个参数代表的是所绘制的图形的宽和高。
    context.fillStyle = 'red';
    context.strokeStyle = 'blue';//strokeStyle代表的是边框的颜色
    context.lineWidth = 2;
    context.fillRect(50,50,100,100);//fillRect里的第一、二个参数代表的开始的坐标位置,第三和第四个参数代表的是绘制图形的宽高。
    context.strokeRect(50,50,100,100);
    //context.clearRect(50,50,100,100);//clearRect()方法实现的是让选定的区域的填充色变为透明。。

}

实现效果图如下图所示:
这里写图片描述
//接下来编写圆形

function draw(id){ 
    var canvas = document.getElementById('canvas');
    if(canvas == null){ 
        return false;
    }
    var context = canvas.getContext('2d');
    context.beginPath();
    context.arc(125,125,50,0,Math.PI*2,true);//第一和第二个参数代表的是开始坐标,第三个参数代表的圆形半径,第四和第五分别代表的是开始的角度和结束的角度,最后一个true代表的是顺时针方向
    context.closePath();
    context.fillStyle = 'rgba(255,0,0,0.25)';
    context.fill();//fill() 方法填充当前的图像(路径),默认颜色是黑色。

}

实现效果图如下图所示:
这里写图片描述

//层叠式圆实现酷炫效果(在上边圆形的实现基础上。。)

function draw(id){ 
    var canvas = document.getElementById('canvas');
    if(canvas == null){ 
        return false;
    }
    var context = canvas.getContext('2d');
    context.fillStyle = '#dedede';
    context.fillRect(0,0,400,300);
    var n = 0;
    for(var i=0;i<=10;i++){ 
    context.beginPath();
        context.arc(i*25,i*25,i*10,0,Math.PI*2,true);第一和第二

个参数代表的是开始坐标,第三个参数代表的圆形半径,第四和第五分别代表的

是开始的角度和结束的角度,最后一个true代表的是顺时针方向
        context.closePath();
        context.fillStyle = 'rgba(255,0,0,0.25)';
        context.fill();//fill() 方法填充当前的图像(路径)。默认颜色是黑色。
}

实现效果图如下图所示:
这里写图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值