canvas基础—01绘制路径

1.标签、绘制环境、绘制方块、设置绘图

绘制方块 

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>canvas学习</title>
<style>
body{background: black}
#c1{background: white}
span{color: white}
</style> 
<script type="text/javascript">
    window.onload = function(){
        var oC = document.getElementById('c1');
        var oGC = oC.getContext('2d');//webgl:3D绘图
        //绘制矩形 (left top width height) 原点在左上角 向下向右为正方向
        // oGC.fillRect(50,50,100,100);

        // 带边框的矩形  默认边框是1px
        // oGC.strokeRect(50,50,100,100);

        // 设置绘图
        oGC.fillStyle = 'red'; // 填充是红色
        oGC.strokeStyle = 'blue'; //线的颜色是蓝色
        oGC.lineWidth = 10;  //线条宽度是10
        oGC.fillRect(50,50,100,100);
        oGC.strokeRect(50.5,50.5,100,100);
    }

</script>
</head>
<body>

<canvas id="c1" width="400" height="400">
	<span>不支持canvas浏览器</span>
</canvas>

</body>
</html>

2.边界绘制、绘制路径

边界连接点样式 

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>canvas学习</title>
<style>
body{background: black}
#c1{background: white}
span{color: white}
</style> 
<script type="text/javascript">
    window.onload = function(){
        var oC = document.getElementById('c1');
        var oGC = oC.getContext('2d');//webgl:3D绘图

        // 设置绘图
        oGC.fillStyle = 'red'; // 填充是红色
        oGC.strokeStyle = 'blue'; //线的颜色是蓝色
        oGC.lineWidth = 10;  //线条宽度是10
        oGC.lineJoin = 'round' //边界连接点样式 圆角
        oGC.fillRect(50,50,100,100);
        oGC.strokeRect(50.5,50.5,100,100);
    }

</script>
</head>
<body>

<canvas id="c1" width="400" height="400">
	<span>不支持canvas浏览器</span>
</canvas>

</body>
</html>

绘制三角形 

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>canvas学习</title>
<style>
body{background: black}
#c1{background: white}
span{color: white}
</style> 
<script type="text/javascript">
    window.onload = function(){
        var oC = document.getElementById('c1');
        var oGC = oC.getContext('2d');//webgl:3D绘图
        // 绘制路径
        oGC.beginPath()     //开始绘制
        oGC.moveTo(100,100) //移动到初始的目标点(100,100)
        oGC.lineTo(200,200) //移动到目标点(100,100)
        oGC.lineTo(300,200) //移动到目标点(300,200)
        oGC.closePath()     //连接初始点和最后一个绘制的点
        oGC.stroke()        //从初始点到结束点绘制
    }

</script>
</head>
<body>

<canvas id="c1" width="400" height="400">
	<span>不支持canvas浏览器</span>
</canvas>

</body>
</html>

 

3.绘制路径

绘制两个不同的三角形 

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>canvas学习</title>
<style>
body{background: black}
#c1{background: white}
span{color: white}
</style> 
<script type="text/javascript">
    window.onload = function(){
        var oC = document.getElementById('c1');
        var oGC = oC.getContext('2d');//webgl:3D绘图
        // 绘制路径 开始绘制(将每个绘制进行一个明确的区分用beginPath和stroke。fill等)
        oGC.beginPath()     //开始绘制
        oGC.moveTo(100,100) //移动到初始的目标点(100,100)
        oGC.lineTo(200,200) //移动到目标点(100,100)
        oGC.lineTo(300,200) //移动到目标点(300,200)
        oGC.closePath()     //连接初始点和最后一个绘制的点
        oGC.stroke()        //绘制结束
        // 绘制路径
        oGC.beginPath()     //开始绘制
        oGC.moveTo(100,200) //移动到初始的目标点(100,100)
        oGC.lineTo(200,300) //移动到目标点(100,100)
        oGC.lineTo(300,300) //移动到目标点(300,200)
        oGC.closePath()     //连接初始点和最后一个绘制的点
        oGC.fill()        //填充以上路径
    }

</script>
</head>
<body>

<canvas id="c1" width="400" height="400">
	<span>不支持canvas浏览器</span>
</canvas>

</body>
</html>

绘制矩形 rect()

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>canvas学习</title>
<style>
body{background: black}
#c1{background: white}
span{color: white}
</style> 
<script type="text/javascript">
    window.onload = function(){
        var oC = document.getElementById('c1');
        var oGC = oC.getContext('2d');//webgl:3D绘图
        // 绘制路径 开始绘制(将每个绘制进行一个明确的区分用beginPath和stroke。fill等)
        oGC.beginPath()     //开始绘制
        oGC.rect(100,100,100,100)          //绘制矩形(X,Y,W,H)
        oGC.closePath()     //连接初始点和最后一个绘制的点
        oGC.stroke()        //绘制结束(必须写)or  fill()
    }
</script>
</head>
<body>

<canvas id="c1" width="400" height="400">
	<span>不支持canvas浏览器</span>
</canvas>

</body>
</html>

 

 

删除画布区域 clearRect()

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>canvas学习</title>
<style>
body{background: black}
#c1{background: white}
span{color: white}
</style> 
<script type="text/javascript">
    window.onload = function(){
        var oC = document.getElementById('c1');
        var oGC = oC.getContext('2d');//webgl:3D绘图
        // 绘制路径 开始绘制(将每个绘制进行一个明确的区分用beginPath和stroke。fill等)
        oGC.beginPath()     //开始绘制
        oGC.rect(100,100,100,100)          //绘制矩形(X,Y,W,H)
        oGC.closePath()     //连接初始点和最后一个绘制的点
        oGC.stroke()        //绘制结束(必须写)or  fill()
        oGC.clearRect(0,0,oC.width,oC.height) //(X,Y,W,H)删除一个画布的矩形区域,这里删除整个canvas画布,用于运动的物体
    }
</script>
</head>
<body>

<canvas id="c1" width="400" height="400">
	<span>不支持canvas浏览器</span>
</canvas>

</body>
</html>

作用于局部 save(),restore()

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>canvas学习</title>
<style>
body{background: black}
#c1{background: white}
span{color: white}
</style> 
<script type="text/javascript">
    window.onload = function(){
        var oC = document.getElementById('c1');
        var oGC = oC.getContext('2d');//webgl:3D绘图
        // 绘制路径1 开始绘制(将每个绘制进行一个明确的区分用beginPath和stroke。fill等)
        oGC.save()  //将oGC.fillStyle = 'red'封闭起来,不至于影响下面的三角形
        oGC.fillStyle = 'red' 
        oGC.beginPath()     //开始绘制
        oGC.moveTo(100,100) //移动到初始的目标点(100,100)
        oGC.lineTo(200,200) //移动到目标点(100,100)
        oGC.lineTo(300,200) //移动到目标点(300,200)
        oGC.closePath()     //连接初始点和最后一个绘制的点
        oGC.fill()        //绘制结束
        oGC.restore()   //将oGC.fillStyle = 'red'封闭起来,不至于影响下面的三角形
        // 绘制路径2
        oGC.beginPath()     //开始绘制
        oGC.moveTo(100,200) //移动到初始的目标点(100,100)
        oGC.lineTo(200,300) //移动到目标点(100,100)
        oGC.lineTo(300,300) //移动到目标点(300,200)
        oGC.closePath()     //连接初始点和最后一个绘制的点
        oGC.fill()        //填充以上路径
    }

</script>
</head>
<body>

<canvas id="c1" width="400" height="400">
	<span>不支持canvas浏览器</span>
</canvas>

</body>
</html>

 

 端点样式lineCap

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>canvas学习</title>
<style>
body{background: black}
#c1{background: white}
span{color: white}
</style> 
<script type="text/javascript">
    window.onload = function(){
        var oC = document.getElementById('c1');
        var oGC = oC.getContext('2d');//webgl:3D绘图
        // 绘制路径
        oGC.lineWidth=20
        oGC.lineCap='round'
        oGC.moveTo(100,100) //移动到初始的目标点(100,100)
        oGC.lineTo(200,200) //移动到目标点(100,100)
        oGC.stroke()        //绘制结束
    }

</script>
</head>
<body>

<canvas id="c1" width="400" height="400">
	<span>不支持canvas浏览器</span>
</canvas>

</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值