我试图在 Canvas 上渲染一个简单的圆圈,它在 Chrome 上完美运行,但在 Safari 上失败。
奇怪的是,当我尝试获取圆的 x 位置时,我得到了预期的数字,因此它显然存在但无法正确呈现。
canvas.context.beginPath();
canvas.context.strokeStyle = 'rgba(255, 153, 0, 1)';
canvas.context.lineWidth = 10;
canvas.context.arc(x, y, radius, 0, Math.PI * 2);
canvas.context.stroke();
canvas.context.closePath();
width
、height
、radius
是运行时计算的自定义变量,示例值为
x = 155;
y = 155;
radius = 25.5;
但它不是固定的,可以是一定范围内的任意数字。
这在 Chrome 中呈现橙色圆圈,但在 Safari 中没有任何内容,所以知道为什么吗?
最佳答案
我找到了解决方案。一个问题是 radius
被计算为 float ,出于某种原因 Safari 不会渲染半径为 25.5 的弧,所以我不得不这样做
Math.floor(radius)
这基本上解决了我的问题。我仍然不知道为什么会这样,但是如果其他人有同样的问题,有一个解决方案
关于javascript - 圆弧未在 Safari 中的 2D 上下文中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39473971/