• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:★PHP?★画像を縦横比を変えずに表示)

PHPで画像を縦横比を変えずに表示する方法

このQ&Aのポイント
  • 画像を縦横比を変えずに表示したいです。PHPで作成している場合、150*150の正方形の中に画像を収める方法を教えてください。
  • 画像のサイズがバラバラでも縦横比を保ったまま表示する方法はありますか?PHPで作成している場合、150*150の正方形の中に画像を収める方法を教えてください。
  • PHPで画像を縦横比を変えずに表示する方法を教えてください。150*150の正方形の中に画像を収める方法が知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

考え方は2つあります。 一つは、とりあえず見た目だけ表示できればいいなら ブラウザを限定していいならmax-heightなどのCSSでできます。 実際には非対応のブラウザもおおいので、javascriptなどで補完します。 もうひとつは実際にリサイズしたサムネイルを作成すること。 単純にグラフィックソフトで用意してもいいし GDなどのツールで変換してもいいでしょう。 ただ毎回アクセスごとにGDを使っていると無駄な気がします。 ロジックは簡単で 縦と横の長い方を150に併せ、短い方を縦横で150に乗じてやるだけです 常に正方の画像ということであれば、キャンパスの余白の色をどうするとか 仕様はご自身できめてください。

その他の回答 (2)

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.3

getimagesizeを使って、画像の縦横サイズを取得して。 縦が大きければ、imgタグにheight="150px"を指定(widthは指定しない)、横が大きければwidth="150px"を指定(heightは指定しない)。同じなら、どちらか一方を(両方でも可)。 そうしておけばブラウザの機能で、勝手に縦横比を変えずに表示してくれます。 という手抜きを、かなり昔にやってましたね。 画像のファイルサイズは大きいまま、表示だけ縮小しているだけですし、CSS使いから見ると激怒ものの使用方法かも知れませんが。

a-----n
質問者

お礼

ご連絡ありがとうございました。 getimagesizeも今後視野にいれていきたいと思います。 ありがとうございました

  • t_ohta
  • ベストアンサー率38% (5233/13688)
回答No.2

PHPで作成しているなら、HTMLを書き出す前に各画像ファイルのサイズを確認して、適切なサイズを計算したうえで、imgタグのwidthとheightを指定してあげればいいのではないでしょうか。 それと余計な話ですが、imgタグのidが全て同じになってますので直しましょう。

a-----n
質問者

お礼

ご連絡ありがとうございました。 余計なタグ等、整理します。 ありがとうございました。

関連するQ&A