javascript - Canvas setLineDash 和 lineDashOffset 不在 iOS/Safari 中重置?

标签 javascript ios html canvas safari

在这里查看 fiddle :http://jsfiddle.net/mYdm9/4/

在我的电脑上,做

ctx.lineWidth=20;
ctx.setLineDash([20,30]); 
ctx.lineDashOffset=10;
ctx.beginPath();
ctx.moveTo(150,150);
ctx.lineTo(240,240);
ctx.lineTo(180,40);
ctx.stroke();
ctx.closePath()

给出第一组线,带有所需的破折号/偏移量

现在用

ctx.setLineDash([0,0]); 
ctx.lineDashOffset=0

在下一批命令中:

ctx.beginPath();
//resets line dash... except on iOS Safari it seems...
ctx.setLineDash([0,0]); 
ctx.lineDashOffset=0;
ctx.moveTo(0,300);
ctx.lineTo(0,250);
ctx.lineTo(100,400);
ctx.lineTo(200,300);
ctx.stroke();
ctx.closePath()

在第一组行之后似乎重置了任何破折号属性。再次获取实线

在运行 Safari 的 iPad2 上……它似乎完全被忽略了,线条保持虚线。为什么是这样?另外,是否有其他方法可以正确重置破折号...? (最好是跨浏览器/操作系统)

谢谢

最佳答案

使用这个表示法,它将在所有支持 setLineDash 的浏览器中工作

ctx.setLineDash([]);

关于javascript - Canvas setLineDash 和 lineDashOffset 不在 iOS/Safari 中重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839111/

相关文章:

javascript - Visual Studio 中的 JSLint "Stopping"

javascript - 将数据追加到一个数组中,而不是使用多嵌套数组

javascript - 跨域 XHR 失败

html - 移动设备上的图像背景(固定、居中)问题

javascript - 从根本上来说,为什么函数声明的 'this' 绑定(bind)的执行上下文设置为全局对象?

ios - NSString 到 NSDate 格式对话问题

ios - 如何根据 iPhone 向上移动文本字段。 swift 大小

ios - 如何在应用程序中存储图像(来自画廊/相机)以便稍后调用?

java - 如何通过用户单击 Android 浏览器中的元素来保存 HTML 页面的一部分

使用像素和百分比约束的 HTML 自动图像调整大小