javascript - 圆弧未在 Safari 中的 2D 上下文中呈现

标签 javascript ios safari

我试图在 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();

widthheightradius是运行时计算的自定义变量,示例值为

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/

相关文章:

javascript - iOS Safari 是否支持 storageEvents?

javascript - Safari overflow-x hidden 导致内部固定元素困惑

javascript - 为什么当鼠标离开区域时元素没有消失?

javascript数值加法,不同的加法方式返回不同的结果

php - 自定义表单验证和提交

ios - 由于单元格为空,如何检索 UserDefaults

iphone - 如何从子类的UITableViewCell中访问UITableViewController变量?

ios - UIScrollView 降低底部高度

javascript - 如何解析 JS Date 在所有浏览器中保持一致

javascript - 如何使用 jQuery 制作下拉菜单