欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

百度T7 课程 canvas 学习 2-网格

程序员文章站 2022-05-21 13:49:35
...

这个世界的水很深, 特别是人情世故,特别深, 

越了解,越发的知道自己啥都不懂,也不会!

 

好吧,我们继续我们的canvas 大业

1.网格1

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>网格</title>
	<style>
		#c1{
			border:1px solid black;
		}

	</style>

	<script>
			window.onload = function(){
				var oCanvas = document.getElementById('c1')
				var gd = oCanvas.getContext('2d')				
				// 你要画一个表格: 
				// 你得思考,每个格子多大!
				var space = 20
				// 1, 得到 画布的宽和高
				var cWidth = gd.canvas.width;
				var cHeight = gd.canvas.height;
				// 当你记不住api 的时候,就打印出来看看!
				var lines = Math.floor(cHeight/space)

				for(let i = 0;i<lines;i++){
					gd.beginPath()
					gd.moveTo(0,space*i)
					gd.lineTo(cWidth,space*i)
					gd.strokeStyle='#aaa'
					gd.stroke();
				}




			}				
	</script>

</head>
<body>
	
	
		<canvas id="c1" width="500"  height="500"></canvas>


</body>
</html>

 

表现:

百度T7 课程 canvas 学习 2-网格

 

网格2:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>网格</title>
	<style>
		#c1{
			border:1px solid black;
		}

	</style>

	<script>
			window.onload = function(){
				var oCanvas = document.getElementById('c1')
				var gd = oCanvas.getContext('2d')				
				// 你要画一个表格: 
				// 你得思考,每个格子多大!
				var space = 20
				// 1, 得到 画布的宽和高
				var cWidth = gd.canvas.width;
				var cHeight = gd.canvas.height;
				// 当你记不住api 的时候,就打印出来看看!
				var lines = Math.floor(cHeight/space)
				var cols = Math.floor(cWidth/space)
				for(let i = 0;i<lines;i++){
					gd.beginPath()
					gd.moveTo(0,space*i-0.5)
					gd.lineTo(cWidth,space*i-0.5)
					gd.strokeStyle='#aaa'
					gd.stroke();
				}
				// 画第二个竖着的格子!
			
				for(let j = 0; j<cols;j++){
					gd.beginPath();
					gd.moveTo(space*j-0.5,0)
					gd.lineTo(space*j-0.5,cHeight)
					gd.strokeStyle="#aaa"
					gd.stroke()
				}
			}				
	</script>

</head>
<body>
	
	
		<canvas id="c1" width="500"  height="500"></canvas>


</body>
</html>

显示

百度T7 课程 canvas 学习 2-网格

 

总结: 画网格很简单,就是画线,遍历划线就行了!

 

关键是每个格子多大?

要画多少条线?

每条线的位置在哪? 

至于实现,就简单了,基本上这个还是so easy 的!

 

还有就是简化思维, 比如, 100 宽,每个格子20 要画几条线

答案是6条, 为啥,你画个图一看就知道了, 这就是简化思维

本例子中最后一条是边框,可以不画:

百度T7 课程 canvas 学习 2-网格

 

最后,强调, 读懂一个程序分三步,

流程,

每个语句的功能

最后是试数!

这样无论你学算法,还是读源码都没多大问题!