用OpenseaDragon实现无级缩放
上节提及金字塔切片的多种格式,本节我们将用其中的一种格式:deep-zoom格式+OpenseaDragon实现高分辨率栅格图像的无级缩放。
由于相关知识点的文章已经叙述得较充分了,因此本节的叙述方式主要是在它们之间客串,以期用最简洁的文字使读者获得一个完整的印象。
Deep-Zoom
Deep-Zoom是微软发展的一种大影像互联网浏览格式,官方的介绍在此:
https://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx
它作为给Silverlight 2.0增光添彩的功能出现,Silverlight作为微软WPF在浏览器的延伸,从它自家的观点来看,当然是完美的整体解决方案,但外界并不买账,与HTML5相比,Silverlight毕竟还是采用插件方式的解决方案。
——微软家的flash嘛!
对于不想装silverlight的用户,微软提供了一个ajax的前端版本ASP.Net AJAX Control Toolkit( Seadragon.com)。并将其以New BSD license捐献给开源社区。这个javascript的前端版本仍然与asp.net绑定,让服务端不想用.net的人非常不爽。因此OpenSeadragon的大侠们出手了,目标就是要将它与asp.net解耦。
上述内容来自这篇文章:https://openseadragon.codeplex.com/
OpenSeadragon
尽管OpenSeadragon从Seadragon衍生而来,但它并不是绑定于Deep-Zoom格式的。它支持多种Tile Sources。官网中进行了详细介绍:https://openseadragon.github.io/
其实我觉得官网的介绍已经足够清晰简洁了,如果要看中文的快速上手的文章,推荐这位博友的文章:
http://www.cnblogs.com/yingjiehit/category/670015.html
自己动手做出个例子也是蛮有趣的。但还是强烈建议浏览一遍官网的examples,这样你就了解它目前已经具备哪些功能。
Deep-Zoom切片工具
微软对windows桌面用户提供了免费的切片工具:
按这篇文章下载操作即可:http://www.cnblogs.com/yingjiehit/p/4362377.html
对于非windows用户,完全可以自己写段java代码切片。
可以参考这个项目:
https://code.google.com/p/deepjzoom/source/browse/trunk/src/DeepZoomConverter/Main.java
或者直接用这位博友的修改过的代码,我试过了好使。
http://www.cnblogs.com/iyangyuan/p/4527509.html
至此,预备工作介绍完毕,下一节开始,将进入正题,改造OpenSeadragon,使其支持360度展示。