美文网首页
html5 canvas入门知识

html5 canvas入门知识

作者: 不要叫我帅哥 | 来源:发表于2017-04-14 16:03 被阅读19次

    什么是canvas?

    使用canvas,可以在网页上绘制图像。我们常见的图表类网页、地图类网页上面那些复杂的图像、炫酷的效果,都可以使用canvas来实现。通俗点说,canvas就是画家手中的画板,用js作笔来画出心中的恢弘山河。

    canvas拥有多种绘制路径、矩形、圆形、字符以及添加其他图像的方法。

    用一个简单栗子来认识它

    在网页上绘制一个圆

    <canvas id="cvs" width="300" height="300"</canvas>
    <script>
        var canvas = document.getElementById('cvs');
    
    //    判断是否支持canvas
        if(canvas.getContext){
            //获取canvas上下文
            var ctx = canvas.getContext('2d');
            //定义一个路径
            ctx.beginPath();
            //画一个圆形路径
            ctx.arc(50,50,50,0,Math.PI*2);
            //定义填充颜色
            ctx.fillStyle = "rgb(160,224,0)";
            //填充圆形
            ctx.fill();
        }else{
            console.info('当前浏览器不支持canvas属性');
        }
    </script>
    

    通过上面的示例 我就在一个300*300的画布上面,以偏移左上角x轴、y轴各50px的点为圆心,画了一个半径为50px的圆。

    效果图-1

    看过一个简单的栗子之后,让我们来了解一下canvas常见的一些方法。

    常用方法

    • 获取canvas上下文
    var context = canvas.getContext('2d');
    

    可能有些人会好奇,这里为什么是2d,难道还有3d吗?答案是有的。
    比如:WebGL 使用了基于OpenGL ES的3D上下文 ("experimental-webgl") 。
    但是我们现在主要把注意力放到2d渲染上下文中。

    • 绘制图像类型
      填充——context.fill()
      描边——context.stroke()

    • 绘制的样式
      填充颜色——context.fillStyle
      描边颜色——context.strokeStyle
      在样式中,可以有几种表示颜色的方法

      • 直接用颜色名称:red green blue
      • 使用十六进制值:#eef
      • 使用rgb颜色:rgb(1-255,1-255,1-255) rgba(1-255,1-255,1-255,透明度)
    • 绘制路径
      绘制路径,就相当于我们定了一个物件的轮廓,然后我们就可以对它进行描边或者填充让它变得可见。
      绘制线条——context.lineTo(x,y)
      绘制圆弧——context.arc(x,y,radius,startAngle,endAngle,anticlockwise)
      我们可以用线条和圆弧来组合各种复杂的形状,然后对它进行填充或描边。但是还有两个要注意,在开始画路径之前,要使用context.beginPath()来定义路径的开始,在结束路径时,要使用context.closePath()来进行路径的闭合。

    个人理解

    canvas就是工程师眼中的画板,我们使用js这支画笔,在指定的位置定好指定的路径,然后对它进行填充或描边。最后通过多个图形的组合排序来实现我们的需求。

    (刚接触canvas,以上都是个人的粗浅认识,如果有什么错误,麻烦多多指出,后面有新的知识,会持续修改这篇文章的)

    相关文章

      网友评论

          本文标题:html5 canvas入门知识

          本文链接:https://www.haomeiwen.com/subject/ikgwattx.html