【问题标题】:iPad Canvas Draw Image ErroriPad 画布绘制图像错误
【发布时间】:2011-09-28 18:54:20
【问题描述】:

由于某种原因,当我绘制如下图像时,iPad 上的 Safari 会抛出错误:

INDEX_SIZE_ERR:DOM Exception 1: Index or size was negative, or greater than the allowed value

var img = new Image;
img.src = node.data.userimg;
ctx.drawImage(img, 20, 20, 38, 38);

其中 node.data.userimg 是 twitter 个人资料图标的 URL。在普通桌面浏览器中不会引发此错误。最初这些 imgs 是在相对于节点对象的动态点绘制的,但即使将它们静态设置为 20、20 仍然会引发此错误。 iPad 的 Safari 能否在不引发此错误的情况下缩放图像?如果在大多数绘图调用上有点慢,图像似乎仍然正确绘制。我担心这可能只是一个性能问题,因为在画布上绘制了太多内容(点击/触摸时表示城市和相关推文的图表)。

【问题讨论】:

  • console.log(node.data.userimg);究竟值是多少?
  • 我会尝试它,但我正在检查以确保它不为空或为空。否则,它会从 user_image 的 twitter JSON 结果中提取。
  • 图片可能没有在 iPad 上完成加载。你可以将 drawImage 包装在 onload 事件中吗?
  • 这听起来像是一个可能的答案,因为性能非常缓慢,因为所有数据都被绘制。我可能还想确保在下一次绘图调用时停止加载,否则我将建立一个绘图命令队列。此外,在 draw 命令之外声明图像可能会有所帮助。

标签: image ipad html canvas


【解决方案1】:

也许这些链接可以帮助你...

您可能会得到负值...或者图像在您想要绘制之前尚未加载...

这两种情况都不太被画布喜欢……

http://blog.ryanrampersad.com/2010/06/04/index_size_err-dom-exception-1-html-canvas/ Canvas: JavaScript Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1

Uncaught Error: INDEX_SIZE_ERR

HTH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多