人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: hanabusatsukasa
●カテゴリ:ウェブ制作
✍キーワード:HTML PHP サイズ 画像
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● いのくに
●27ポイント

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 を計算するのは

いかがでしょうか?

◎質問者からの返答

ありがとうございます。

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

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


2 ● b-wind
●27ポイント

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

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

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

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

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

◎質問者からの返答

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

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

申し訳ないです。


3 ● いのくに
●26ポイント

簡単に整数にしたいなら 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\" />";
?>
◎質問者からの返答

rounnd関数ですか。

ありがとうございます。

助かりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ