美文网首页
Canvas-绘制直线-Day01

Canvas-绘制直线-Day01

作者: 木易先生灬 | 来源:发表于2018-10-15 22:38 被阅读0次
<style type="text/css">
    #mycanvas{
        background-color: orange;
        /*width: 600px;
        height: 400px;*/
    }
</style>
<!--
Canvas入门
1. 什么是Canvas?
canvas:画布的意思 英 ['kænvəs] 美 ['kænvəs]
简单理解: 就是用来作图的区域,实现画图必须使用js作图。

2. Canvas有什么作用? 使用的场景有哪些?
2-1. 可视化数据,数据图形化的报表,比如: 百度echarts【重点】
2-2. 图形验证码【掌握】
2-3. 开发H5的小游戏
2-4. 模拟器产品
2-5. 特效动画

3. 如何快速使用Canvas?
3-1. 使用canvas标签
注意: 建议直接使用 width和height设置画布大小(默认300*150),
不建议style样式设置画布大小,原因是通过js无法正确获取画布的大小
-->
<canvas id="mycanvas" width="1000" height="600"></canvas>
<script type="text/javascript">
    var mycan=document.getElementById("mycanvas");
    console.log("画布大小",mycan.width,mycan.height);
</script>

01直线绘制

    <!--1. canvas标签,有宽度和高度-->
    <canvas id="mycanvas" width="1000" height="600"></canvas>
    
    <script type="text/javascript">
        //2. js中获取画布对象
        var canv=document.getElementById("mycanvas");
        
        //3. 上下文中设置绘图方式
        var ct=canv.getContext("2d");  //webgl就是3d效果
        
        //4. 开始作图...
        //常用的方法
        //4-1. 坐标原点: 在画布的左上角,坐标为(0,0),横向x轴,纵向y轴
        //4-2. 绘制的起点:ct.moveTo(x坐标,y坐标)
        //把起点设置在100,100
        ct.moveTo(100,100);
        
        //4-3. 绘制直线: ct.lineTo(x坐标,y坐标)
        //绘制斜线,终点坐标500,300
        ct.lineTo(100,400);
        
        //4-4. 设置线条的颜色: ct.strokeStyle="颜色"
        //设置线条的宽度:ct.lineWidth=数字
        ct.lineWidth=10;
        ct.strokeStyle="red";
        
        //4-5. 开始绘制线条 ct.stroke()
        ct.stroke();

02直线的进阶

<!--1. canvas标签,有宽度和高度-->
<canvas id="mycanvas" width="1000" height="600"></canvas>

<script type="text/javascript">
    //2. js中获取画布对象
    var canv=document.getElementById("mycanvas");
    
    //3. 上下文中设置绘图方式
    var ct=canv.getContext("2d");  //webgl就是3d效果
    
    //4. 绘制一个三角形: 3条边,3个线段
    //设置线宽和颜色
    ct.lineWidth=3;
    ct.strokeStyle="#000";
    
    
    
    //设置起点
    ct.moveTo(500,100);
    
    //开始绘制第1条边
    ct.lineTo(600,300);
    //开始绘制
    //ct.stroke();
    
    //开始绘制第2条边
    ct.lineTo(400,300);
    //ct.stroke();
    
    //开始绘制第2条边
    ct.lineTo(500,100);
    ct.stroke();
</script>

03三角形三边颜色不同

<!--1. canvas标签,有宽度和高度-->
<canvas id="mycanvas" width="1000" height="600"></canvas>

<script type="text/javascript">
    //2. js中获取画布对象
    var canv=document.getElementById("mycanvas");
    
    //3. 上下文中设置绘图方式
    var ct=canv.getContext("2d");  //webgl就是3d效果
    
    //4. 绘制一个三角形: 3条边,3个线段
    //设置线宽和颜色
    //开始绘制第1条边
    ct.lineWidth=3;
    //开始路径: ct.beginPath() 开启全新的路径
    ct.beginPath();
    //设置起点
    ct.moveTo(500,100);
    ct.strokeStyle="#f00";
    ct.lineTo(600,300);
    //开始绘制
    ct.stroke();
    
    //开始绘制第2条边
    ct.beginPath();
    ct.strokeStyle="#0f0";
    ct.moveTo(600,300);
    ct.lineTo(400,300);
    ct.stroke();
    
    //开始绘制第3条边
    ct.beginPath();
    ct.strokeStyle="#00f";
    ct.moveTo(400,300);
    ct.lineTo(500,100);
    ct.stroke();
</script>

相关文章

网友评论

      本文标题:Canvas-绘制直线-Day01

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