2009-07-21 3 views
4

イメージをローカルで(つまりイメージデータをダウンロードせずに)生成できるMultiScaleTileSource実装を提供する方法は?SilverlightのローカルDeepZoom/MultiScaleTileSource

これまでのフォローアップは次のとおりです。回答:回答しなかったフォローアップ:stackoverflow.com/questions/432956/silverlight-make-deepzoom-to-load-tiles-from-local-source

ウェブ上のすべてのサンプルは、http://blogs.msdn.com/mikeormond/archive/2008/08/23/multiscaletilesource-demo-source-code.aspxに基づいています。これは、サーバー上にピクセルを生成することによって問題を具体的に「ハッキング」します。

+0

あなたの質問は言う "(画像データのダウンロードせずにIE)でローカルの画像を生成する" しかし、あなたは(432956)にリンクされている他の質問れます具体的には、すべての画像データを一度に/前もってダウンロードすることに関する。あなたは何を求めているのかを明確にすることはできますか? (a)1つの大きな画像をダウンロードし、クライアント上でタイルを作成し、DZでそれらをローカルに提供したい、(b)クライアントにDZ画像用のすべてのタイルを事前にダウンロードし、それらを「ローカルに」提供する(c)DZを必要に応じて動作させ、必要に応じてサーバからタイルをダウンロードしますか?または、他の何か?? – Conceptdev

+0

CraigD、私はすべてのデータをローカルで生成することに興味があります。 – okigan

答えて

2

更新日:クライアントで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メソッドをオーバーライドします。

サンプル:

+0

これは質問に対処しません。上記のリンクの両方で、画像データはサーバ上で生成され、問題はローカル画像生成に関するものである。 – okigan

+0

Jonの2番目の回答へのフォローアップ: こんにちはJon、 DeepZoomのドキュメントはかなり貧弱ですが、サポートされていないと言えるかもしれませんが、GetTileLayersのプロトタイプは他のソースを許可するほど一般的です。 特に、Uriのリストではなく、Objectのリストを返します。したがって、画像データをDeepZoomにフィードする他の方法があることを願っています。 これ以上の入力をしないでください(誰かがこの部分を再コンパイルし、他のどのメソッドがサポートされているかを特定している可能性があります)。 – okigan

+0

さて、この瞬間のように(文書化された)方法はありません。スレッドを閉じる... – okigan

関連する問題