Context绘制直线和折线

绘制简单的直线
js代码

function draw() {
            var ctx = document.getElementById('myCanvas').getContext('2d');/*获取画布*/
            for (var i = 0 ; i < 12 ; i++) {
                ctx.strokeStyle = "red"; /*设置绘制的样式*/
                ctx.lineWidth = 1 + i;/*设置绘制线宽*/
                ctx.beginPath();/*开始绘制*/
                ctx.moveTo(5, 5 + i * 14);/*绘制的起始点坐标*/
                ctx.lineTo(140, 5 + i * 14);/*绘制的终点坐标*/
                ctx.stroke();/*开始绘制*/
            }
        }
        window.onload = function () {
            draw();
        }       

html代码

<canvas id="myCanvas" width="300" height="200"></canvas>

效果图:


line.png

给直线设置不同的截断样式
js代码

function draw1() {
            var ctx = document.getElementById('myCanvas1').getContext('2d');
            var lineCap = ['butt', 'round', 'square'];
            // 绘制参考线
            ctx.strokeStyle = 'red';
            ctx.beginPath();
            ctx.moveTo(10, 10);
            ctx.lineTo(10, 150);
            ctx.moveTo(150, 10);
            ctx.lineTo(150, 150);
            ctx.stroke();
            // 绘制直线段
            ctx.strokeStyle = 'green';
            for(var i = 0 ; i < lineCap.length ;i++){
                ctx.lineWidth = 20;
                ctx.lineCap = lineCap[i];/*设置截断的样式*/
                ctx.beginPath();
                ctx.moveTo(10, 30 + i * 50);
                ctx.lineTo(150, 30 + i * 50);
                ctx.stroke();
            }

        }
        window.onload = function () {
            draw1();
        }       

html代码

<canvas id="myCanvas1" width="300" height="200"></canvas>

效果图


cap.png

绘制具有不同转角样式(连接样式)的折线
js 代码

function draw2() {
            var ctx = document.getElementById('myCanvas2').getContext('2d');
            var lineJoin = ['round', 'bevel', 'miter']/*圆角 斜直角 尖角*/
            ctx.strokeStyle = 'blue';
            ctx.lineWidth = 15;
            for (var i = 0 ; i < lineJoin.length ;i++){
                ctx.lineJoin = lineJoin[i];/*设置连接点转角样式*/
                ctx.beginPath();
                ctx.moveTo(10+i*150,30);
                ctx.lineTo(100+i*150,30);
                ctx.lineTo(100+i*150,100);
                ctx.stroke();
            }          
       }
window.onload = function () {
            draw2();
        }  

html 代码

<canvas id="myCanvas2" width="420" height="200"></canvas>
join.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,319评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,617评论 4 61
  • 听途道说巨与矮,差距万分思三分。 思想巨人行动矮,三思过后低三分。 他日豪言气万丈,今日一看少三分 德行主修辅为路...
    幻城彡小孩无爱阅读 299评论 0 0
  • 去年在豆瓣写过一篇谈恋爱。时隔一年,再谈恋爱。 那时候解读的恋爱: 谈恋爱,字面理解,谈是交流,恋是爱慕,爱是关爱...
    胡说十三道阅读 611评论 1 1
  • 匆匆预约的来访者 今天又有一位来访者临时要约我,我没有给他安排咨询。虽然没做这个咨询,这类情况还是再一次让我深深的...
    石勤快阅读 434评论 0 1

友情链接更多精彩内容