【发布时间】:2021-04-02 03:06:42
【问题描述】:
我是 javascript 新手,正在尝试学习如何在画布上绘图。任务是在画布上的 2 个单击点之间绘制一个矩形。
let rectangle = 0;
window.addEventListener("load", () => {
const canvas = document.getElementById("myCanvas");
const context = canvas.getContext("2d");
let x;
let y;
canvas.addEventListener("click", (e) => {
if (rectangle === 0) {
x = e.clientX;
y = e.clientY;
++rectangle;
} else {
xprim = e.clientX;
yprim = e.clientY;
context.beginPath();
context.fillRect(x, y, xprim - x, yprim - y);
context.stroke();
rectangle = 0;
}
})
})
.canvas_for_rectangle{
border: 1px solid black;
height: 50%;
width: 50%;
}
<canvas id="myCanvas" class="canvas_for_rectangle">
画布上什么都没有显示,我不知道什么是不正确的,因为我对这门语言非常陌生。我做错了什么,我需要研究什么?
【问题讨论】:
-
为我工作。您是否在画布区域内单击? (另外,请注意,事件鼠标坐标是相对于页面视图区域,而画布坐标是相对于画布区域。)
-
我在画布上单击,我在 if-else 中也有一些 console.log(s) 并打印出它进入了它们。我不知道这里做错了什么。
标签: javascript canvas