📜  HTML |画布 strokeRect() 方法(1)

📅  最后修改于: 2023-12-03 15:31:16.068000             🧑  作者: Mango

HTML | 画布 strokeRect() 方法

简介

strokeRect() 方法用于在画布上绘制矩形轮廓。这个方法和 fillRect() 方法的区别在于,strokeRect() 绘制的是空心矩形,而 fillRect() 则绘制的是实心矩形。

语法
context.strokeRect(x, y, width, height);
  • x: 矩形左上角的 x 坐标
  • y: 矩形左上角的 y 坐标
  • width: 矩形的宽度
  • height: 矩形的高度
返回值

无返回值。

使用示例
简单示例
<!DOCTYPE html>
<html>
<head>
	<title>strokeRect() 方法示例</title>
	<script>
		window.onload = function() {
			var canvas = document.getElementById('myCanvas');
			var ctx = canvas.getContext('2d');
			
			// 绘制一个红色空心矩形
			ctx.strokeStyle = "red";
			ctx.strokeRect(50, 50, 100, 50);
		}
    </script>
    <style>
        canvas {
            border: 1px solid #ccc;
        }
	</style>
</head>
<body>
	<canvas id="myCanvas" width="200" height="200"></canvas>
</body>
</html>
绘制多个矩形
<!DOCTYPE html>
<html>
<head>
	<title>strokeRect() 方法示例</title>
	<script>
		window.onload = function() {
			var canvas = document.getElementById('myCanvas');
			var ctx = canvas.getContext('2d');
			
			// 绘制红色空心矩形
			ctx.strokeStyle = "red";
			ctx.strokeRect(20, 20, 50, 50);
			
			// 绘制蓝色空心矩形
			ctx.strokeStyle = "blue";
			ctx.strokeRect(100, 20, 50, 50);
			
			// 绘制绿色空心矩形
			ctx.strokeStyle = "green";
			ctx.strokeRect(60, 80, 50, 50);
		}
    </script>
    <style>
        canvas {
            border: 1px solid #ccc;
        }
	</style>
</head>
<body>
	<canvas id="myCanvas" width="200" height="200"></canvas>
</body>
</html>
几何变换
<!DOCTYPE html>
<html>
<head>
	<title>strokeRect() 方法示例</title>
	<script>
		window.onload = function() {
			var canvas = document.getElementById('myCanvas');
			var ctx = canvas.getContext('2d');
			
			// 绘制红色空心矩形
			ctx.strokeStyle = "red";
			ctx.strokeRect(20, 20, 50, 50);
			
			// 平移画布
			ctx.translate(100, 100);
			
			// 缩放画布
			ctx.scale(0.5, 0.5);
			
			// 绘制蓝色空心矩形
			ctx.strokeStyle = "blue";
			ctx.strokeRect(20, 20, 50, 50);
		}
    </script>
    <style>
        canvas {
            border: 1px solid #ccc;
        }
	</style>
</head>
<body>
	<canvas id="myCanvas" width="400" height="400"></canvas>
</body>
</html>
总结

strokeRect() 方法是画布上绘制矩形轮廓的方法,和 fillRect() 方法的区别在于,strokeRect() 绘制的是空心矩形,而 fillRect() 则绘制的是实心矩形。使用该方法时,需要指定矩形左上角的坐标以及矩形的宽度和高度。通过该方法的绘制,我们可以绘制出各种形状的矩形,也可以通过几何变换来实现更加复杂的效果。