我有一个HTML5 Canvas对象,我使用Javascript调整大小。然后我借鉴它。
在iOS上,除非我使用setTimeout延迟绘图,否则图形不会显示。
所以这段代码没有显示......
myCanvas.width = width;
myContext.strokeStyle = '#000';
myContext.moveTo(0, 0);
myContext.lineTo(2000, 2000);
myContext.stroke();
......但这样做:
myCanvas.width = width;
setTimeout(function(){
myContext.strokeStyle = '#000';
myContext.moveTo(0, 0);
myContext.lineTo(2000, 2000);
myContext.stroke();
}, 100);
两者都适用于桌面浏览器,但不适用于Safari iOS。
造成这种情况的原因是setTimeout是解决问题的最佳解决方案吗?
谢谢,
答案 0 :(得分:0)
我的错误。结果是setTimeout与它无关。
我发现可能对其他人有帮助的是浏览器中的画布允许的最大尺寸,这在移动浏览器(例如Safari)上非常小。
有关详细信息,请参阅此问题:Maximum size of a <canvas> element
我试图为iPhone制作太大的画布。