質問

正方形のアスペクトと2048ピクセルの幅のビットマップがあると仮定します。

Silverlightの DeepZoomImageTileSource で必要なファイルセットを作成するには、このビットマップを1024に、次に512に、次に256などに1ピクセル画像に縮小する必要があります。

素朴な疑いのあるアプローチが2つあります:-

  1. 必要な画像ごとに、元のフルサイズの画像を必要なサイズにスケーリングします。ただし、画像全体を非常に小さなサイズにスケーリングすることは過度に思えます。
  2. あるレベルから次のレベルにスケーリングすると、元のイメージが破棄され、連続する各スケーリングイメージが次の小さいイメージのソースとしてスケーリングされます。ただし、これにより、オプション1を使用するよりも忠実度が低い256〜64の範囲の画像が生成されると思われます。

Deep Zoom Composerとは異なり、このツールはオンデマンドで動作することが期待されるため、妥当な時間枠(30秒以上)で完了する必要があります。プラス面では、複数の高解像度画像のピラミッドではなく、単一のマルチスケール画像のみを作成しています。

私はここの快適ゾーンの外にいますが、グラフィックの専門家にアドバイスはありますか?ポイント2について間違っていますか?ポイント1は合理的にパフォーマンスがあり、何も心配していませんか?オプション3?

役に立ちましたか?

解決

約1:これが最良の方法のようです。そして、毎回ソース画像をリロードしなくても過大ではありません。

約2:はい、段階的にスケーリングすることで(ある程度)品質が低下します。

写真を拡大縮小するには30秒で十分だと思います(数回)。最適化は、結果をキャッシュする領域で行われます。

他のヒント

本質的にやろうとしているのは、MipMapの作成です( http://en.wikipedia.orgを参照してください/ wiki / Mipmap )。 2のべき乗の正方形の画像から始めた場合、画像を半分のサイズに縮小し、縮小した画像を使用してサイズを再度2縮小すると、元の画像を取得して縮小するのと同じ結果が得られます係数4。

半分のサイズの画像の各ピクセルは、元の画像の4ピクセルの平均になります。クォーターサイズの画像の各ピクセルは、16ピクセルの平均になります。平均16ピクセルをとるか、平均4ピクセルをとっても、他の4ピクセルの平均をとっても構いません。

だから、オプション2で述べたように、連続して画像を縮小しても問題ないと思います。確実にしたい場合は、両方の方法を試して画像を比較してください。

この質問は古く、おそらくこれを行っていない理由があるかもしれませんが、Microsoftの無料のDeep Zoom Composerを入手すると、Deep Zoomsを作成するためのDLL、「DeepZoomTools.dll」が付属します。単一の画像のDeep Zoomコンポジション、または多くの画像の合成を作成します。 (クラス ImageCreator は、画像のサイズ変更の面倒な作業を行います。)

商用アプリケーションを開発している場合は、ライセンスの影響を調査する必要がありますが、コードを再利用する方が、自分で作成するよりも常に優れています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top