我正在为基于OpenSeadragon的应用程序开发一些工具,该工具允许用户在“镜头”区域内应用不同级别的放大倍率。我的策略是创建两个查看器:一个在当前缩放时可见,另一个在放大缩放时隐藏:
好消息是,一切正常,但会降低性能(尤其是当我尝试对图像数据进行任何像素处理时)。对于熟悉OpenSeadragon的人来说,建立两个查看器是一个坏策略吗?我可以提供一些用于上下文的代码,但是我认为这可能是一个概念性问题。
对于那些熟悉源代码的人来说,在我看来requestAnimationFrame
是通过zoomTo()
或panTo()
之类的函数应用于OpenSeadragon动画的,这是否公平?
欢迎任何见识!谢谢!被祝福!
答案 0 :(得分:1)
这似乎是一个合理的策略。要尝试的另一件事是让一个查看器直接在查看器中具有图像的多个副本(请参见http://openseadragon.github.io/examples/multi-image/)。您可以将“放大”图像设置为更大的图像,并根据用户的鼠标移动在查看器中四处移动。您甚至可以通过setCroppingPolygons给它一个圆形的裁剪区域。我不知道这会比您目前正在执行的性能好还是坏?只是集思广益。
对于requestAnimationFrame,OpenSeadragon对所有动画都有一个这样的循环。它还将requestAnimationFrame用于某些实用程序功能,例如淡入淡出按钮以及在用户按住缩放按钮的同时按住鼠标继续缩放。