我正在使用Swiffy渲染到隐藏的 Canvas 上,以便可以获取结果并在其他地方使用它。我遇到的问题是,当我为Swiffy调整容器div的大小时,它不会使实际的 Canvas 大于可用视口(viewport)的大小。如果将Swiffy div的尺寸设置为大于视口(viewport),则 Canvas 将仅与视口(viewport)一样大-它不想将 Canvas 的任何部分置于屏幕外。
我确信这是为了提高效率,如果正常不在屏幕上,则没有理由渲染某些东西,但是我需要让Swiffy始终以我想要的大小对其进行渲染。
此外,如果Swiffy容器div未附加到DOM,则Swiffy就可以拒绝执行任何操作。 (强制 Canvas 的宽度和高度为0)。
有没有解决这个问题的方法,而不必深入研究(模糊的)Swiffy客户端运行时并对其进行修改?如何欺骗Swiffy渲染大于视口(viewport)的大小?
编辑:实际上,我可以通过将window.innerWidth更改为所需的大小来使swiffy渲染为大于视口(viewport)。不过,这确实是一个丑陋的骇客,我不愿覆盖它,因为它会引起很多问题。
最佳答案
如果运行时版本为7.3,则可以直接修改js。
只需删除或评论“b.xj(c);”在g.Tp()函数中。我不在乎屏幕外渲染的任何优势。至少,现在可以使用了。
我认为这是一个严重的错误。
请注意,它在iframe中是很好的,无需黑客入侵。
关于javascript - 任意Google Swiffy Canvas 大小/屏幕外渲染,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31568985/