html5的canvas知识总结(1)

1. 浏览器支持

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 <canvas> 及其属性和方法。

注释:Internet Explorer 8 以及更早的版本不支持 <canvas> 元素

2. canvas基础知识:

canvas是inline-block类型。

(1)在css样式中,设置canvas样式

比如:

(2)在body标签中,创建canvas标签。

请注意,canvas标签内部有自己属性设置方式

比如:

(3)在JavaScript中,

     ①获取canvas,即创建canvas画布;通过id获取。

     ②获取canvas上下文,即获取canvas画笔;该画布是2d平面。

(4)canvas方法:画直线和描边

moveTo():画笔的起点;

lineTo(): 一笔的终点;

lineWidth属性:设置线笔画的宽度;

strokeStyle属性:设置描边的颜色;

stroke()方法:进行描边;注意:把画笔的方法和属性都设置好后,最后进行描边绘制出来。

代码:

    <style>
        canvas {
            width: 200px;
            height: 200px;
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <canvas width="200" height="200" id="canvas1"></canvas>
    <script>
        var oCanvas = document.getElementById('canvas1'); //获取canvas
        var ctx = oCanvas.getContext('2d'); //获取canvas的上下文
        ctx.moveTo(10,10);
        ctx.lineTo(150,10);
        ctx.lineWidth = 10;
        ctx.strokeStyle = 'red';
        ctx.stroke();
    </script>
</body>

效果:

 

(5)直线描边的问题:起始位置和终止位置为同一个点时,有直线宽度设置时,出现合并异常。

                          

 解决办法(1):往回多画一笔,让终止点和起始点不在一个点上。

解决办法(2):少一笔,终止点不到达起始点,采用闭合路径的方法。

由此引出新的方法:closePath():闭合回路

问(1):闭合回路后,画笔的位置在哪?

答(1):在起始点

    

(6)fill():填充方法

fill()是填充、fillStyle()是填充颜色

                             

注意:关于线宽是向两边展开的;

fill()、stroke()方法都是作用在当前所有子路径下的;

完成一条路径后要开启新的路径,使用beginPath()方法

(7)beginPath()方法:开启一个新的路径

开启的新路劲与之前路径没有任何联系

                         

猜你喜欢

转载自blog.csdn.net/zyz00000000/article/details/82690440