canvas实用技巧及案例

canvas实用技巧及案例

canvas作为H5的新增元素,使用方便,作用广泛,因此我们很有必要把它学会,乃至融会贯通。。。以上都是瞎说一气,哈哈,我也不是作家,不会写那么多导语和铺垫,就会上代码,代码来了!!!

首先在body里面写上canvas标签

<canvas id="aaa" width="900" height="500" style="border: 1px solid #999999;"></canvas>
在这里我做了一个宽为900,高为300的画布,并给它一个边框

其次需要用到javascript在这个画布上作图

var c = document.getElementById("aaa"); var context = c.getContext('2d');
这行代码是只要用到canvas就会在js里写的
我们先来做一个带边框的矩形和填充矩形

canvas_juxing.png

            context.strokeStyle='white';    //边线矩形样式  
            context.lineWidth="10";     //边线矩形边框宽度
            context.lineJoin="round";   //边线矩形边框样式   round(圆角)  bevel(切角) miter(切角)  
            context.strokeRect(10,10,200,200);  //边线矩形 括号内分别表示x坐标,y坐标,宽,高

            context.fillStyle="red";    //填充式矩形样式
            context.fillRect(220,10,200,200);   //填充式矩形  

然后我们用直线来绘制带边线的三角形和填充三角形

canvas_sanjiao.png

            context.beginPath();    //用直线开始绘制图形 
            context.moveTo(0,10);   //开始坐标
            context.lineTo(100,100);    //移动到坐标点
            context.lineTo(100,10);     //移动到坐标点
            context.closePath();        //闭合图案
            context.stroke();       //画出图形
            context.fillStyle="red";
            context.beginPath();    //开始绘制填充图形
            context.moveTo(100,10); //开始坐标
            context.lineTo(200,100);    //移动到坐标点
            context.lineTo(200,10);     //移动到坐标点
            context.fill();     //填充图案  

接下来把上面的代码都先隐藏,然后写这个,重点来了啊,绘制三个五角星,图案如下

canvas_wuxing.png

            //绘制五角星
            context.beginPath();
            context.moveTo(0,100);
            context.lineTo(300,100);
            context.lineTo(60,300);
            context.lineTo(150,0);
            context.lineTo(240,300);
            context.closePath();
            context.stroke();

            context.beginPath();
            context.moveTo(300,100);
            context.lineTo(420,100);
            context.lineTo(450,0);
            context.lineTo(480,100);
            context.lineTo(600,100);
            context.lineTo(510,180);
            context.lineTo(540,300);
            context.lineTo(450,230);
            context.lineTo(360,300);
            context.lineTo(390,180);
            context.closePath();
            context.stroke();
            
            context.fillStyle="red";
            context.beginPath();
            context.moveTo(600,100);
            context.lineTo(720,100);
            context.lineTo(750,0);
            context.lineTo(780,100);
            context.lineTo(900,100);
            context.lineTo(810,180);
            context.lineTo(840,300);
            context.lineTo(750,230);
            context.lineTo(660,300);
            context.lineTo(690,180);
            context.fill();
            //五角星结束

怎么样,看懂了吗,自己手敲一遍效更好哦!
文章转自https://royalzhao.github.io/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 4,707评论 2 32
  • canvas实用技巧及案例2 本次来介绍一下实心圆与线圆及各种弧线的制作方法,首先科普一下相关知识arc()方法可...
    行走的巨象阅读 569评论 0 0
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    Looog阅读 3,953评论 3 40
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    J_L_L阅读 1,544评论 0 4
  • 千万不要吃啊~她红色的釉光下,包藏了乌黑的毒汁呢! 白雪公主微微一笑,你们真是瞎担心呢,这只是一只苹果罢了,又红又...
    茵梦湖兰阅读 231评论 0 1