【发布时间】:2021-11-27 23:22:45
【问题描述】:
我想在点击时使用 javascript 在画布绘图的特定部分进行着色。下面是我在圆内绘制正方形的代码。
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<canvas width="300" height="300" id="myCanvas" style="border:1px solid #000000;"></canvas>
<script>
const canvas = document.getElementById('myCanvas');
const context = canvas.getContext('2d');
const centerX = canvas.width / 2;
const centerY = canvas.height / 2;
const radius = 70;
context.beginPath();
context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
context.rect(centerX-25, centerY-25, 50, 50)
context.lineWidth = 5;
context.strokeStyle = '#003300';
context.stroke();
</script>
</body>
</html>
点击正方形外但仍在圆圈内的区域后,我只想遮蔽该部分并拥有如下内容:
【问题讨论】:
-
方格内的内容不被触碰重要吗?如果没有,您可以重新绘制圆形/正方形,但圆形填充为绿色,正方形填充为白色。
-
感谢两位的回复。我会尝试洪水填充方法,因为它更具可扩展性。
-
不要为此使用洪水填充。填充填充适用于您无法控制绘制的内容时,例如用户提供的位图图像或用户制作的过于复杂的形状。在你的情况下,你真的不需要这个......
-
感谢您的告知和下面的解决方案,我会看看它。
标签: javascript html canvas html5-canvas