web-dev-qa-db-ja.com

ユーザーがアップロードした写真をすべて同じサイズにする方法

ユーザーがデジタルカメラから撮影した写真をアップロードするサイトがあります。写真をできるだけ大きく表示して、画面全体をほぼ占有するようにします。また、さまざまなユーザーのすべてのサムネイルと爆発した写真を均一なサイズにして、デザインが私のサイトで機能し、すべてが適切にレイアウトされるようにします。これは可能ですか、それとも写真を撮るためにカメラを横に向け、写真をより広くするよりも大きいため、異なるサイズの写真に固執するでしょうか?写真は特定のファイル形式、特定のサイズなどである必要がありますか?

1
jeff

写真をアップロードしたまま保存し、CSSでサイズを変更できます。これは、ユーザーがどのサイズの画面を表示するかわからないため、全画面表示に最適なオプションです。

ただし、明らかな制限は、アスペクト比を変更すると写真が間違って見えることです。異なるアスペクト比の写真のオプションは次のとおりです。

  1. 黒いバーを両側に追加して、正しい比率にします。これは、ImageMagick(PHP、Perl、おそらくRubyおよびその他の言語用のライブラリが存在する)または.NetではSystem.Drawingを使用して数行で実行できます。
  2. 自動的に切り抜きます。 (同上)。
  3. それを受け入れることを拒否し、ユーザーが切り取るように主張します。
  4. ユーザーにクロップを選択するためのJSインターフェースを提供します-3として、画像編集ソフトウェアを見つける手間を省きます。
  5. 1を行いますが、CSS選択で幅と高さを設定し、両方の寸法が境界内に収まるまで縦横比を一定にしてスケーリングし、黒い背景に中央揃えすることにより、画像を変更しません。

すべての場合において、レイアウトが変更された場合に備えて元の画像を保持することをお勧めします。

3
Peter Taylor

IrfanViewは、モデレートプロセスがある場合に 画像のバッチサイズ変更 に使用できる無料のデスクトップツールです。

0
mvark