我有以下代码可以在单击按钮时在 HTML5 画布上绘制任何多边形。用户提供半径、边、x 和 y 坐标。应使用边绘制任何正多边形。首先,我们使用 moveTo() 移动到周边,然后根据边使用 lineTo() 绘制线条。
js.js
function drawPolygon() {
var numberOfSides = prompt("Enter number of sides");
var Xcenter = prompt("Enter x");
var Ycenter = prompt("Enter y");
var size = prompt("Enter radius");
var con=document.getElementById("myCanvas");
var cxt=con.getContext("2d");
cxt.beginPath();
cxt.moveTo (Xcenter + size * Math.cos(0), Ycenter + size * Math.sin(0));
for (var i = 1; i <= numberOfSides;i += 1) {
cxt.lineTo (Xcenter + size * Math.cos(i * 2 * Math.PI / numberOfSides), Ycenter + size * Math.sin(i * 2 * Math.PI / numberOfSides));
}
cxt.strokeStyle = "#000000";
cxt.lineWidth = 1;
cxt.stroke();
}
function registerEvents(){
var poly = document.getElementById("polygon");
poly.addEventListener( "click", drawPolygon, false);
}
window.addEventListener('load', registerEvents, false);
提供输入后,画布上没有绘制任何内容。我的代码是错误的吗?