views:

586

answers:

1

How to provide a MultiScaleTileSource implementation that can generate images locally (i.e. without downloading of the image data)?

This is a follow up to : Follow up on: stackoverflow.com/questions/432956/silverlight-make-deepzoom-to-load-tiles-from-local-source which did not get answered.

All samples on the web end up to be based on http://blogs.msdn.com/mikeormond/archive/2008/08/23/multiscaletilesource-demo-source-code.aspx which specifically "hacks" the issue by generating pixel on the server.

+2  A: 

UPDATE: I don't believe it's possble to do Deep Zoom completely on the client. MultiScaleTileSource.GetTileLayers requires a collection of URI's, and I don't think you have a way to intercept that on the client.

However, you could use Silverlight 3's WriteableBitmap to generate content on the client. I don't know exactly what you're trying to do exacly, but Jeff Prosise wrote an example which shows zooming into a Mandelbrot Set via Writeable Bitmaps, which shows the concept.

----------- original answer -------------

Create a custom MultiScaleTileSource - inherit from MultiScaleTileSource and override GetTileLayers method.

Samples:

Jon Galloway
This does not address the question. In both of the above links the image data is generated on the server, where is the question is about local image generation.
Followup to Jon's second answer:Hi Jon, DeepZoom documentation is pretty poor, and though one could say it is not supported, the prototype of GetTileLayers seems generic enough to allow other sources. Specially, it returns a list of Object(s) as opposed a list of Uri(s). Hence, the hope that there are other ways to feed in image data to DeepZoom.So holding out for more input (maybe somebody has recompiled this portion and identified what other methods are supported).
Well, sounds like at this moment there is no (documented) way. Closing the thread...