您好我想使用基于动态用户输入的HTML画布(即起始坐标和角度)创建多边形。这里是示例代码。使用动态用户输入在html5中创建画布多边形
<canvas width="500" height="400" id="myCanvas"></canvas><br /><br />
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
function polygon(ctx, x, y, radius, sides, startAngle, anticlockwise) {
if (sides < 3) return;
var a = (Math.PI * 2)/sides;
a = anticlockwise?-a:a;
ctx.save();
ctx.translate(x,y);
ctx.rotate(startAngle);
ctx.moveTo(radius,0);
for (var i = 1; i < sides; i++) {
ctx.lineTo(radius*Math.cos(a*i),radius*Math.sin(a*i));
}
ctx.closePath();
ctx.restore();
}
var centerX = document.getElementById("cood1").value; //Starting Coordinate 1
var centerY = document.getElementById("cood2").value; //Starting Coordinate 2
var centerZ = document.getElementById("cood3").value; //Circle Radius
context.beginPath();
polygon(context,centerX,centerY,centerZ,45,-Math.PI/2);
context.fillStyle="rgba(227,11,93,0.75)";
context.fill();
context.stroke();
</script>
的问题是,当我提出的起始坐标和半径(以多边形圆的情况下)dynamic.If我硬编码相同的工作的代码是不工作...
多边形(上下文,50,50,50,45,-Math.PI/2);
专家亲切分享我要去的地方错了!
@John R ....任何输入? – MaxPyne