Canvas 画画坐标系

2022-08-15 13:31:42 浏览数 (2)

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主

代码语言:javascript复制
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<style type="text/css">
	canvas
	{
		border: 1px solid #ccc;
		
	}
</style>
<body>
<canvas id="myCanvas" width="800" height="600">
<!--固定语法,宽度800 高度600-->
</canvas>
	<script type="text/javascript">
	window.onload=function()
	{
		var oCanvas=document.querySelector("#myCanvas");//获取canvas对象
		oGc=oCanvas.getContext('2d');//类型2d
		width=oCanvas.width;//获取canvas的宽度
		height=oCanvas.height;//获取canvas的高度
		function drawGrid(color,stepX,stepY)
		{
			oGc.beginPath();//开启路径
			oGc.strokeStyle=color;//线的颜色
			oGc.lineWidth=0.5;//加上0.5代表1px像素,默认是0.就是说0代表系统默认是2px。
			for(var i=0;i<width;i =stepX)//竖线
			{
				oGc.moveTo(i,0);
				oGc.lineTo(i,height);
				//解析:
				//第一次:moveTo:x=0,y=0
				//第一次:lineTo:x=0,height=600
				//第二次是moveTo:x=10,y=0
				//第二次lineTo:x=10,height=600
				//以此类推
			}
			for(var j=0;j<height;j =stepY)//横线
			{
				oGc.moveTo(0,j);
				oGc.lineTo(width,j);
				//解析:
				//第一次:moveTo:0,0
				//第一次:lineTo:800,0
				//第二次是moveTo:x=0,y=10
				//第二次lineTo:x=800,y=10
				//以此类推
				
			}
			oGc.closePath();//都循环完后,关闭路径
			oGc.stroke();//连接
		}
		drawGrid("red",10,10);
	}
	</script>
</body>
</html>

0 人点赞