码迷,mamicode.com
首页 > Web开发 > 详细

HTml5 Canvas 整理笔记之画线

时间:2016-04-11 12:20:19      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

1.画线

1.1在画之前先“配置好画布”(以后不再提及)

实例介绍

//先设置一点canvas的style里面有属性使其有边框(好观察),居中(display:block,要先把canvas设置成块级元素,margin的设置中央才有效)
<canvas id="canvas" style="border: 1px solid gold;display:block;margin: 50px auto ;"></canvas>
/*
*在script里面进行画画
*/
<script>
   //获得canvas
    var can=document.getElementById("canvas");
    //进行2d绘画使用con进行绘制
    var con=can.getContext("2d");
    /*Canvans的属性最好不要在css里面写,
    *因为 width 和 height不仅代表画布的大小
    *还代表画布内里的精度、像素(不要写单位)。
    */
   can.width=1024;
   can.height=768;
</script>

小提示:怕浏览器不兼容

技术分享

1.2开始画线

convas是基于状态绘制的

技术分享

技术分享

注:

moveTo 是指绘画的起点,moveTo(100,100)=beginPath()+lineTo(100,100),
beginPath()开启绘制状态,colsePath()为状态的封闭(会把绘画曲线闭合)。

为啥需要beginPath()和colsePath()?

因为cavans画布里面不只画一个东西,怕线和线“打架”。

温馨提示:

先fill再描边就填充色就不会覆盖一半的线边了,但是填充色被覆盖了,代码如下:

技术分享

1.3线的属性

linecap

线条的头部,线段衔接的地方不会有效果

技术分享

linejoin

线与线衔接的形式

技术分享

belevel斜接
技术分享
round圆角衔接
技术分享
miter
技术分享
miterlimit

当宽线条使用设置为 "miter" 的 lineJoin 属性绘制并且两条线段以锐角相交的时候,所得的斜面可能相当长。
当斜面太长,就会变得不协调。miterLimit 属性为斜面的长度设置一个上限。
这个属性表示斜面长度和线条长度的比值。默认是 10,
意味着一个斜面的长度不应该超过线条宽度的 10 倍。
如果斜面达到这个长度,它就变成斜角了。当 lineJoin 为 "round""bevel" 的时候,这个属性无效。

技术分享

HTml5 Canvas 整理笔记之画线

标签:

原文地址:http://blog.csdn.net/qq_23473123/article/details/51120020

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!