c# – Silverlight中的本地DeepZoom / MultiScaleTileSource

如何提供可以在本地生成图像的MultiScaleTileSource实现(即无需下载图像数据)?

这是一个跟进:跟进:stackoverflow.com/questions/432956/silverlight-make-deepzoom-to-load-tiles-from-local-source没有得到解答.

Web上的所有样本最终都基于http://blogs.msdn.com/mikeormond/archive/2008/08/23/multiscaletilesource-demo-source-code.aspx,它通过在服务器上生成像素来“破解”问题.

最佳答案 更新:我不相信完全在客户端上进行Deep Zoom是不可能的.
MultiScaleTileSource.GetTileLayers requires a collection of URI’s,我认为你没有办法在客户端拦截它.

但是,您可以使用Silverlight 3的WriteableBitmap在客户端上生成内容.我不知道你究竟想要做什么,但是Jeff Prosise wrote an example which shows zooming into a Mandelbrot Set via Writeable Bitmaps,它显示了这个概念.

———–原创答案————-

创建自定义MultiScaleTileSource – 从MultiScaleTileSource继承并覆盖GetTileLayers方法.

样品:

> http://www.silverlightshow.net/items/Deep-zooming-on-the-fly.aspx
> Deep Earth – a deep zoom sample that pulls map tiles from Vitual Earth

点赞