• 締切済み

画像の縦:横比を維持してリサイズ

画像の縦:横比を維持してリサイズし表示したいのですが、ご指導よろしくお願い致します。 <?php $array_img = glob( '*.jpg'); for($i=0; $i<sizeof($array_img); $i++){ $array_img[$i] = ereg_replace("\n","",$array_img[$i]); $thumbHeight = round($height * THUMBNAIL_WIDTH/$width); print "<br style=\"border:1px solid #000000\"><img src=\"$array_img[$i]\" width=\"320\" height=\"340\"></br>"; } ?>

みんなの回答

  • thezen5
  • ベストアンサー率84% (27/32)
回答No.3

IE6を考慮しなくていいならcssで済むと思いますが。 ***に入れたいブロックのサイズ指定してください。 <img src=\"$array_img[$i]\" style="max-width:***px;max-height:***px;">

すると、全ての回答が全文表示されます。
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

ひょっとして・・・そもそも画像データの縦横を取得することが出来ていないのですかね? GDあたりを使えば楽に出来ると思いますが・・・ http://www.php.net/manual/ja/function.getimagesize.php <?php $files = glob('xampp/img/*.gif'); foreach ($files as $file) { $info = getimagesize($file); print $file . " / width:" . $info['0'] . ", height:" . $info[1] . "<br />"; } 縦横を取得すれば、あとは縦横どちらが「最大サイズ」に対しての比率を計算して、どちらかが超過していれば、その比率で縮小すればいいと思います。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

手っ取り早いのはPEAR::Image_TransformでscaleByLengthを使えば 長辺が指定したサイズになるように拡大・縮小します http://pear.php.net/manual/ja/package.images.image-transform.scaling.php

すると、全ての回答が全文表示されます。

関連するQ&A