gpt4 book ai didi

javascript - Opera:在 JavaScript 中绘制椭圆时出现问题

转载 作者:太空宇宙 更新时间:2023-11-04 15:37:46 26 4
gpt4 key购买 nike

出于娱乐和学习目的,我目前正在编写一个基于 javascript 的绘图应用程序,但是我在椭圆形的绘图代码中遇到了一些跨浏览器的问题。

这是我的代码,简化为一个简单的椭圆函数:

function Oval(context, x, y, radiusX, radiusY, color, filled) {
if ((radiusX === 0) || (radiusY === 0)) {
return;
}
context.save();
context.translate(x, y);
if (radiusX !== radiusY) {
context.scale(1, radiusY / radiusX);
}
context.beginPath();
context.arc(0, 0, radiusX, 0 , 2 * Math.PI);
context.closePath();
context.restore();
if (filled === true) {
context.fillStyle = color;
context.fill();
} else {
context.strokeStyle = color;
context.stroke();
}
}

var ctx = c.getContext("2d");
Oval(ctx, 150, 150, 100, 149, "#663399", false);
<canvas id="c" width="300" height="300"></canvas>

这在当前稳定版本的 Firefox、Chrome、Internet Explorer 和 Safari 中运行良好。但 Opera 似乎并不喜欢它。可能是什么问题?

最佳答案

这是因为 Opera 需要 arc 的最后一个参数

因此,将其更改为 context.arc(0, 0, radiusX, 0 , 2 * Math.PI, false);,您将获得成功。

关于javascript - Opera:在 JavaScript 中绘制椭圆时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7040320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com