在iPad上使用Javascript加载大型图像并分块显示

4
我希望将一张尺寸超过2000x2000像素的图片加载到iPad上,在webapp中显示在canvas上,例如4000x4000像素。由于内存限制,这是不可能的。是否可以将图像加载到htmlstorage中,在那里分割,并仅在canvas中显示图块?或者说,大约2000x2000像素的限制是绝对的吗?我可以在服务器上切割图块,但在当前应用程序中这并不容易实现。
有些讨论涉及加载总大小超过6 MB的几个图像(例如iPad/iPhone浏览器在JavaScript中加载图像时崩溃),但与我的情况不同,因为我只有一张图像本身就超过内存限制。

我会说,试一下吧。我的猜测是你不能使用JS图像对象加载那么大的图片,因此你无法从中创建瓦片。但是我可能错了,因为我读到iOS有一个2044×2044的纹理大小限制,只要它只是被加载到内存中,而没有使用纹理,你就可以做得很好。 - Gerben
尝试一下,但你可能会失败。从localStorage加载约2MB的图像对于我来说在桌面Chrome 13上始终(每次)导致崩溃。也许你在Safari iOS上会有更好的运气,虽然我怀疑 - 但你应该尝试一下。 - c69
1个回答

1
我会尝试像您建议的那样将图像分割,并查看是否可以将其中一部分保存到sessionStorage/localStorage中。但是请不要忘记,在iOS上,localStorage似乎有5MB的限制(Limit of localstorage on iPhone?)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接