canvas One 线

最近用canvas比较多,为了梳理思路和备忘,决定写下来。
canvas并不像svg,说白了它就是一张图片,不管在什么情况下它都只是一张图片而已,而svg里面的图形都是标签元素,可以直接添加事件等。canvas添加事件必须要用坐标去判断。
首先画一个线(布局同canvas Two http://www.jianshu.com/p/e383d69b017b)

线

<script>
        document.addEventListener("DOMContentLoaded",function(){
            var oC = document.getElementById("canvas1");
            var gd = oC.getContext("2d");
            gd.lineWidth = 20;
            gd.strokeStyle = "green";
            //用于对比
            gd.beginPath();
            gd.moveTo(100,100);
            gd.lineTo(100,250);
            gd.stroke();

            gd.beginPath();
            gd.moveTo(200,100);
            gd.lineTo(200,250);
            gd.lineCap = "butt";
            gd.stroke();

            gd.beginPath();
            gd.moveTo(300,100);
            gd.lineTo(300,250);
            gd.lineCap = "round";
            gd.stroke();

            gd.beginPath();
            gd.moveTo(400,100);
            gd.lineTo(400,250);
            gd.lineCap = "square";
            gd.stroke();
        },false);
    </script>

效果图:


Paste_Image.png

1、gd.lineCap 属性设置或返回线条末端线帽的样式,还有一个lineJoin和lineCap类似,lineJoin是连接点形状。


Paste_Image.png

2、在画同一个canvas上面画多个图形的时候需要在开始的时候加上gd.beginPath();
w3c定义:beginPath() 丢弃任何当前定义的路径并且开始一条新的路径。

画三角形请看下集:http://www.jianshu.com/p/e383d69b017b

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

推荐阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 4,719评论 2 32
  • 书中代码示例效果展示:Core HTML5 Canvas Examples 基础知识 canvas元素 canva...
    szu_bee阅读 2,893评论 2 28
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    Looog阅读 3,973评论 3 40
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,455评论 25 708
  • 当你走远我不会相信你萤火样的谎言在遥遥的天边星星会勾画出你的脸慵懒地眨着双眼 当你走远我不会相信你山海般的誓言在下...
    柳尘微阅读 189评论 1 2