任意 Google Swiffy Canvas 尺寸/离屏渲染
Arbitrary Google Swiffy Canvas Size / Off Screen Rendering
我正在使用 Swiffy 渲染到隐藏的 canvas 上,这样我就可以获取结果并将其用于其他地方。我 运行 遇到的问题是,当我为 Swiffy 调整容器 div 的大小时,它不会使实际的 canvas 比可用视口大小大。如果我将 Swiffy div 的尺寸设置为大于视口,那么 canvas 只会变得与视口一样大 - 它不想将 canvas 的任何部分放在屏幕外.
我确定这是为了提高效率,如果它通常在屏幕外,则没有理由渲染它,但我需要让 Swiffy 始终以我想要的任何大小渲染它。
此外,如果 Swiffy 容器 div 未附加到 DOM,Swiffy 将拒绝执行任何操作。 (强制 canvas 的宽度和高度为 0)。
有没有办法解决这个问题而不必深入研究(混淆的)Swiffy 客户端运行时并修改它?我怎样才能欺骗 Swiffy 渲染大于视口大小?
编辑: 我实际上能够通过将 window.innerWidth 更改为我想要的任何值来欺骗 swiffy 渲染大于视口。这是一个非常丑陋的 hack,我不想覆盖它,因为它会导致很多问题。
我能弄清楚如何做到这一点的唯一方法是编辑 Swiffy 运行时并将 window.innerWidth 和 window.innerHeight 的所有实例替换为我想要的任何大小。
虽然这明显不理想,但我看不到任何不良影响。
如果有人提出更好的解决方案,我绝对会接受。
如果我正确地解决了问题,为了渲染比原始 swiffy 更大的图像,您可以将 swiffy 放入 div 并缩放它
要像从 Flash 一样快速限制其原始输出比例,您可以将其放在 iframe 中
如果你的swiffy runtime版本是7.3,可以直接hack js
只需删除或注释 g.Tp() 函数中的 "b.xj(c);"。我不在乎离屏渲染的任何优势。至少,现在可以了。
我认为这是一个严重的错误。
请注意,它在 iframe 中很好,无需修改。
我正在使用 Swiffy 渲染到隐藏的 canvas 上,这样我就可以获取结果并将其用于其他地方。我 运行 遇到的问题是,当我为 Swiffy 调整容器 div 的大小时,它不会使实际的 canvas 比可用视口大小大。如果我将 Swiffy div 的尺寸设置为大于视口,那么 canvas 只会变得与视口一样大 - 它不想将 canvas 的任何部分放在屏幕外.
我确定这是为了提高效率,如果它通常在屏幕外,则没有理由渲染它,但我需要让 Swiffy 始终以我想要的任何大小渲染它。
此外,如果 Swiffy 容器 div 未附加到 DOM,Swiffy 将拒绝执行任何操作。 (强制 canvas 的宽度和高度为 0)。
有没有办法解决这个问题而不必深入研究(混淆的)Swiffy 客户端运行时并修改它?我怎样才能欺骗 Swiffy 渲染大于视口大小?
编辑: 我实际上能够通过将 window.innerWidth 更改为我想要的任何值来欺骗 swiffy 渲染大于视口。这是一个非常丑陋的 hack,我不想覆盖它,因为它会导致很多问题。
我能弄清楚如何做到这一点的唯一方法是编辑 Swiffy 运行时并将 window.innerWidth 和 window.innerHeight 的所有实例替换为我想要的任何大小。
虽然这明显不理想,但我看不到任何不良影响。
如果有人提出更好的解决方案,我绝对会接受。
如果我正确地解决了问题,为了渲染比原始 swiffy 更大的图像,您可以将 swiffy 放入 div 并缩放它
要像从 Flash 一样快速限制其原始输出比例,您可以将其放在 iframe 中
如果你的swiffy runtime版本是7.3,可以直接hack js
只需删除或注释 g.Tp() 函数中的 "b.xj(c);"。我不在乎离屏渲染的任何优势。至少,现在可以了。
我认为这是一个严重的错误。
请注意,它在 iframe 中很好,无需修改。