3

Internet Explorer で非常に大きな (50 MB 以上) 画像を表示したいと考えています。圧縮アルゴリズムは CSI が信じているようなものではなく、結果のファイルの損失が大きすぎるため、圧縮は避けたいと考えています。

その結果、Silverlight Deep Zoom または Flash ベースのソリューション (Zoomify など) の 2 つのオプションが考え出されました。問題は、これらの両方がタイル出力への変換および/または特定のファイル タイプへの変換を必要とすることです (Zoomify は単一の独自のファイル タイプ、PFF をサポートします)。

私たちが疑問に思っているのは、事前に変換せずに画像を表示できるソリューションが存在するかどうかです。

PS: アプリケーションを作成して (必要に応じて、またはロード プロセス後に) 画像を並べて表示し、それらを出力できることは知っています。ただし、ファイルを切り刻むことなくこれを実行したいと考えています。

4

4 に答える 4

5

タイル張りのアプローチは、実際にそれを行う正しい方法です。

ユーザーは、画像の表示を開始する前に 50 MB のファイルをダウンロードしたくありません。画像の一部しか表示しない可能性があるすべてのユーザーに 50 メガを提供するために帯域幅を使いたくありません。

ファイル全体を提供すると、ユーザーは最終的にそれを読み込んで表示できるようになりますが、ほとんどの場合、スムーズに実行されません。

imagemagik や PIL などのサーバー側ライブラリを使用して各ユーザーの画像の特定のサブセットを抽出する場合を除き、画像の一部だけを提供する単純な非タイル化方法はありません。サーバーにかなりの負荷がかかるため、おそらくこれを実行したくないでしょう。

または、Google のマップ ツールなどを使用してズームとスケーリングを行うこともできます。それを行うことに関するいくつかのコメントは、ここで入手できます。

http://webtide.wordpress.com/2008/08/27/custom-google-maps/

于 2010-09-07T19:19:46.687 に答える
0

ブラウザは 50 MB のファイルをスムーズにロードできません。切り刻まなければ、遅れないようにする合理的な方法はありません。

于 2010-09-07T19:18:37.180 に答える
-1

並べて表示したくない場合は、サーバーでファイルを開いて、要求された特定のズーム解像度でブラウザーに表示するために、画像の画面サイズのビューをレンダリングすることができます。このようにして、誰かが画像の概要だけを取得したい場合に、回線を介して 50 メガのファイルを送信することはありません。つまり、ブラウザーは一連の座標とピクセル単位の出力サイズを要求し、サーバーは大きい方の画像を開いて、目的のビューに合う小さい方の画像を作成し、それを Web ブラウザーに送り返します。

圧縮に関しては、損失が大きすぎると言っていますが、それが表示されている場合は、おそらく間違った圧縮アルゴリズムを使用しているか、画像の種類に設定しています。jpg 形式には損失性を制御するための品質設定があり、PNG 圧縮は損失なしです (解凍後に得られるピクセルは、圧縮前の正確な値です)。したがって、圧縮として使用しているものを変更することを検討し、画像エディターのデフォルト設定だけに頼らないでください。

于 2010-09-07T19:38:47.163 に答える