【发布时间】:2011-08-12 12:49:16
【问题描述】:
只是为了好玩和学习目的,我目前正在编写一个基于 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 似乎并不喜欢它。可能是什么问题?
【问题讨论】:
标签: javascript html canvas opera