HTMLでimgge画像を表示する際さまざまなサイズがあり困っています。


テーブル内で表示させたいので小さい分にはいいのですが大きい画像は表示が崩れてしまいます。
PHPで最大の画像サイズを指定し大きな画像のみたとえば200pxでの表示にとどめることは出来ますか?

回答の条件
  • 1人2回まで
  • 登録:2006/10/10 01:38:52
  • 終了:2006/10/11 00:35:12

回答(3件)

id:inokuni No.1

いのくに回答回数1343ベストアンサー獲得回数212006/10/10 01:55:47

ポイント27pt

http://jp2.php.net/getimagesize

<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
if($width > 200 || $height > 200){
	if($width > $height){
		$height = $height * 200 / $width;
		$width  = 200;
	}else{
		$width  = $width  * 200 / $height;
		$height = 200;
	}
}
echo "<img src=\"img/flag.jpg\" width=\"$width\" height=\"$height\" />";
?> 

getimagesize関数で表示する画像の幅と高さを取得して、

それを元に img タグの width と height を計算するのは

いかがでしょうか?

id:hanabusatsukasa

ありがとうございます。

ただ、この場合、サイズに小数点が表示されてしまいます。

小数点を切ることは出来ないでしょうか?

2006/10/10 03:25:24
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402006/10/10 02:07:38

ポイント27pt

http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/struct/objects...

HTML の img タグで、width,height 属性を利用するのが簡単でしょう。ブラウザ側で調整してくれますから。

もちろん CSS で同じように指定をしても構いません。

すべて同じ大きさでよければ固定の数値を指定するだけなので簡単です。

小さい画像はそのままの大きさにしたければ、PHP の方で画像を一旦読み込み、サイズを確認してから最大値との比較をするなどの処理が必要なのでちょっと手間になりますね。

id:hanabusatsukasa

う~確かにそうなんですが、、

自分に知識があれば聞かずにすむのですが、、

申し訳ないです。

2006/10/10 03:26:12
id:inokuni No.3

いのくに回答回数1343ベストアンサー獲得回数212006/10/10 03:48:15

ポイント26pt

簡単に整数にしたいなら http://jp2.php.net/round round関数を使うといいでしょう。

<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
if($width > 200 || $height > 200){
	if($width > $height){
		$height = round($height * 200 / $width);
		$width  = 200;
	}else{
		$width  = round($width  * 200 / $height);
		$height = 200;
	}
}
echo "<img src=\"img/flag.jpg\" width=\"$width\" height=\"$height\" />";
?>
id:hanabusatsukasa

rounnd関数ですか。

ありがとうございます。

助かりました。

2006/10/11 00:34:48

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません