缩放 SVG 超过未知阈值会导致元素消失
Scaling SVG past unknown threshold causes elements to disappear
我正在使用 openseadragon 和优秀的svg overlay plugin。
在 Chrome 上,应用程序按预期运行:用户可以点击放大,直到 SVG 中呈现的 table 完全可见,table 上的注释清晰可见。
Here's the link to the demo。缩小以查看 table 的 SVG 版本,覆盖背景的模糊光栅版本。
在 iOS 或 OSX 上的 Safari 上,当缩放超过看似任意的阈值时,table 及其上的所有内容开始消失。消失的点似乎取决于我不明白的其他因素,因此这个问题需要洞察力。例如,当比例变换恰好为 51201 时,用 two.js 绘制的橙色圆圈将消失(在 51200 处圆圈在那里)。 对于更复杂的 table SVG,table 上的元素将在 ~23000 到 50000 之间的不同比例级别消失。有时它们会消失,然后在稍微放大时重新出现. 有时它们会在缩放时消失然后在我平移时重新出现,靠近视口边缘的对象。
IE 11 有一个非常相似的问题。
有没有人处理过或解决过这个问题?
这是一个非常棒的项目!
根据我的经验,这种 SVG 消失的问题与过度缩放有关。好消息是您应该能够通过更改视口坐标来解决它。默认情况下,图像的宽度是视口值 1,但您可以将图像宽度设置为 10,000 或类似宽度,这在屏幕上看起来完全相同,但这意味着 SVG 认为它缩小了很多首先,所以当你放大时,你可以走得更远。
如果您正在使用 two.js,另一个可能的修复方法是切换到 canvas 渲染并使用 https://github.com/altert/OpenSeadragonCanvasOverlay.
顺便说一句,我很乐意在完成后分享您的项目...请在 https://github.com/openseadragon/site-build/issues when you're ready and we can add it to http://openseadragon.github.io/examples/in-the-wild/ 提交工单。
我正在使用 openseadragon 和优秀的svg overlay plugin。
在 Chrome 上,应用程序按预期运行:用户可以点击放大,直到 SVG 中呈现的 table 完全可见,table 上的注释清晰可见。
Here's the link to the demo。缩小以查看 table 的 SVG 版本,覆盖背景的模糊光栅版本。
在 iOS 或 OSX 上的 Safari 上,当缩放超过看似任意的阈值时,table 及其上的所有内容开始消失。消失的点似乎取决于我不明白的其他因素,因此这个问题需要洞察力。例如,当比例变换恰好为 51201 时,用 two.js 绘制的橙色圆圈将消失(在 51200 处圆圈在那里)。
IE 11 有一个非常相似的问题。
有没有人处理过或解决过这个问题?
这是一个非常棒的项目!
根据我的经验,这种 SVG 消失的问题与过度缩放有关。好消息是您应该能够通过更改视口坐标来解决它。默认情况下,图像的宽度是视口值 1,但您可以将图像宽度设置为 10,000 或类似宽度,这在屏幕上看起来完全相同,但这意味着 SVG 认为它缩小了很多首先,所以当你放大时,你可以走得更远。
如果您正在使用 two.js,另一个可能的修复方法是切换到 canvas 渲染并使用 https://github.com/altert/OpenSeadragonCanvasOverlay.
顺便说一句,我很乐意在完成后分享您的项目...请在 https://github.com/openseadragon/site-build/issues when you're ready and we can add it to http://openseadragon.github.io/examples/in-the-wild/ 提交工单。