Cod*_*CDM 13 javascript safari html5 canvas ios
请看这里的小提琴: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()
Run Code Online (Sandbox Code Playgroud)
给出第一组线,带有所需的破折号/偏移量
现在用
ctx.setLineDash([0,0]);
ctx.lineDashOffset=0
Run Code Online (Sandbox Code Playgroud)
在下一批命令中:
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()
Run Code Online (Sandbox Code Playgroud)
在第一组线之后似乎重置任何破折号属性.再次获得实线
在运行Safari的iPad2上......它似乎完全被忽略了,线条保持虚线.为什么是这样?还有,还有其他方法来正确重置行破折号......?(最好是跨浏览器/操作系统)
谢谢
小智 0
我遇到了类似的行为,让 Safari 重置 lineDash 的唯一方法是使用context.restore()。
添加
ctx.restore();
Run Code Online (Sandbox Code Playgroud)
在绘制非虚线之前就可以了。
然后,您将不得不重新设置其他内容,例如线宽。
| 归档时间: |
|
| 查看次数: |
8620 次 |
| 最近记录: |