2

JavaScriptを使用して画像を拡大するための良いコードを手に入れた人はいますか?

サイズを変更するだけでよいことはわかっていますが、怠惰で、さまざまなレベルにズームしたり、ズームしたときに動き回ったりするための賢いものを探していました

4

3 に答える 3

3

これをチェックして:

于 2008-10-11T22:59:26.903 に答える
3

画像の大きさはどれくらいですか?それらが巨大な画像である場合は、このhttp://www.casa.ucl.ac.uk/software/googlemapimagecutter.aspを使用してグーグルマップスタイルのようにそれらを行います

于 2008-10-11T23:01:01.673 に答える
2

これは本当にあなたが求めている品質に依存します。詳細なズームレベルと適切な補間を備えた高品質の画像を採用する必要がある場合は、画像のズーム部分を提供するバックエンドサービスを作成する必要があります。品質や速度を気にしない場合は、画像全体をダウンロードして、ズームレベルによって決定される、表示したい領域のオフセットと絶対位置のdiv内に表示するように合わせることができます。

私はあなたがおそらく最初の選択肢の後にいると思います。このためにすでに作成されたツールがいくつかありますが、私は個人的にどのツールも使用していません。他の人はあなたが試すことができる他の人へのリンクを投稿すると確信しています。私は自分のサービスとクライアントを書きました。私はその独占的なものとして正確な詳細に入ることができませんが、私がしていることの概要をあなたに与えることができます。

asp.net汎用ハンドラーがあります。このハンドラーは、(IDによって)どの画像とズームする座標、およびターゲット画像サイズを示すクエリ文字列を受け取ります。私はサービスに画像をロードし、画像をトリミングしてサイズ変更します(ズーム時に高速で提供するためのファイルの複数の断面など、ファイルが最初にアップロードされたときに多くの最適化と準備が行われているため、それよりも複雑ですが、私が説明していることこれが基本です)。

このサービスは、タイプimage / jpegを返し、画像を送信するだけです。

クライアント側では、ユーザーがズームインしたい画像上の領域をマーキーできるようにするマーキーボックスコントロールを作成しました。それらはその領域をマーキーし、ズームをクリックします。次に、元の画像サイズと表示可能な画像サイズに基づいて、選択した座標の画像へのオフセットを計算します。前述のハンドラーにこれらの座標を送信します。サービスのクエリ文字列を含むURLをImageオブジェクトにロードし、onloadを処理します。すべてがうまくいった場合は、それを表示された画像に交換し、クライアント側のすべての変数を更新して、画像のどこにズームインするかを決定します。次に、再度ズームしたり、ズームアウトしたり、そこからさらにパンしたりできます。

今、私はあなたの怠惰な要件を理解しました、しかし私はこれを書くことは基本を動かすために実際に非常に簡単であると言う必要があります。あなたが見つける最も難しい部分は、選択ボックスを実行することです。しかし、それでも2クリックを追跡するのと同じくらい簡単です。ズームの左上はマークを選択し、右下は選択します。または、選択ボックスがまったくなく、所定の間隔でのみズームインおよびズームアウトします。私のプロジェクトでは、かなり複雑な画像分析ソリューションとしてズームボックスが必要でした。

これが少なくともお役に立てば幸いです。

于 2008-10-11T22:59:21.693 に答える