- PR -

画像をリサイズし表示する“低負荷な”方法

1
投稿者投稿内容
hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-19 16:18
いつもお世話になっております。hirasaneです。

Webアプリを開発しているのですが(VB.NET+ASP.NET使用)、
画像をリサイズして表示する方法について、質問致します。

DBから画像パスと画像名を取得し、サムネイル表示をしたいのですが、
このとき元画像の縦横比率を一定のまま小さく表示したいです。

この方法として、画像をリサイズしたものを一度テンポラリフォルダ
に保存するのではなく、そのまま表示する方法はありますでしょうか?

アプリ利用者に書き込み権限を与えたくありませんし、
そもそもサムネイル表示するのに、そこまでの処理を行いたくありません。

どうかお知恵をお貸しくださいませ。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2003-11-19 17:00
まず画像用のWebPageを作成。(例:Photo.aspx)
Photo.aspxのPage_Loadで
1.画像ファイルを読込み
2.Graphicsを使用してサイズを修正
3.Response.BinaryWriteで画像を送信
でいけると思います。
hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-19 17:14
済みません。説明不足だったかもしれません。

引用:

まず画像用のWebPageを作成。(例:Photo.aspx)
Photo.aspxのPage_Loadで
1.画像ファイルを読込み
2.Graphicsを使用してサイズを修正
3.Response.BinaryWriteで画像を送信
でいけると思います。




画像表示には、ImageButtonを使用しています(クリック
イベントが必要なため)。

つまり、ImageButtonの縦・横サイズを動的に変更したいのです。
他の方法でもOKなのですが、クリックイベントが必要です。
クリックイベントはJavaScriptで代替できますが、
イベントのコードを書かねばなりませんので、
先に画像を表示するためのオブジェクトの設置は必要です。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-19 17:17
 HTMLのimg要素にwidthとheight属性を適切に設定すれば(元のイメージが100*100なら、10*10など)、ブラウザ側で縮小表示してくれますが、ダメですか?

 ImageButtonでも同じ。勝手に縦横比を計算してくれるみたい。

[ メッセージ編集済み 編集者: Jitta 編集日時 2003-11-19 17:26 ]
hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-19 17:27
burton999さん、Jittaさん、ありがとうございます。
(burton999さん、先ほどお礼忘れてました。済みません)

画像によって、縦横比が違うので上手くいきません。

例えば、ImageButtonが100*100で、画像が200*150でも
縦横比が無視されて、100*100で表示されてしまいます・・・
やむ
会議室デビュー日: 2003/08/02
投稿数: 17
投稿日時: 2003-11-19 17:50
Image.GetThumbnailImage メソッドはどうですか?
詳しくは、MSDN。
hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-19 20:16
やむさん、ありがとうございます。

引用:

やむさんの書き込み (2003-11-19 17:50) より:
Image.GetThumbnailImage メソッドはどうですか?
詳しくは、MSDN。




ImageButtonコントロールを動的に縦横幅を指定する方法
が分かりました。
Unitを使えばよいみたいですが、まだ詳しくは理解できてません。

Image.GetThumbnailImageを使うのも、縦横のサイズを計算して
縦横幅を指定するのは同じなので、元画像サイズをBitmap or Image
で取得し、リサイズし、Unitを使って縦横幅を指定することにします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-19 21:00
引用:

hirasaneさんの書き込み (2003-11-19 17:27) より:

画像によって、縦横比が違うので上手くいきません。

例えば、ImageButtonが100*100で、画像が200*150でも
縦横比が無視されて、100*100で表示されてしまいます・・・


 よくわからないですが、ImageButton.WidthとHeightを指定すれば?私が試した画像、よく見ると正方形でした。すみません。
1

スキルアップ/キャリアアップ(JOB@IT)