ホームページ >バックエンド開発 >PHPチュートリアル >アスペクト比を維持しながら、アップロードされた画像からサムネイルを作成するにはどうすればよいですか?
概要:
ユーザーが Web サイトに画像をアップロードすると、アスペクト比を損なうことなく、画像の小さいバージョンを表示するサムネイルを作成することが望ましいことがよくあります。元の画像を保持しながらサムネイルを作成する方法に関する包括的なガイドは次のとおりです。
課題:
目標は、アップロードされた画像の 2 つのバージョンを作成することです。画像とサムネイル。元の画像はサーバーに保存する必要があり、サムネイルは縦横比を維持した元の画像の小さいバージョンである必要があります。
実装:
1.画像データの取得:
PHP では、$_FILES グローバル変数を使用して、アップロードされた画像データを取得できます。 file_get_contents() 関数を使用して、画像データを文字列に読み込みます。
2.画像の寸法を決定する:
getimagesize() 関数を使用して画像の寸法を取得します。これにより、画像に関する幅、高さ、その他の情報を含む配列が返されます。
3.サムネイルの作成:
Imagick などの画像処理ライブラリを使用してサムネイルを作成します。 Imagick は、サイズ変更やトリミングなどの画像操作のためのさまざまな方法を提供します。サイズを変更するときは、画像が伸びたり潰されたりしないように、アスペクト比を必ず維持してください。
4.画像を保存します:
file_put_contents() 関数を使用して、元の画像とサムネイルの両方をサーバーに保存します。元の画像の上書きを避けるために、プレフィックスまたはサフィックスを追加するなど、サムネイルには必ず一意のファイル名を使用してください。
5.画像のサイズ変更 (追加オプション):
Imagick がサーバーで利用できない場合は、GD ライブラリを使用できます。 GD を使用してサムネイルを作成する関数の例を次に示します。
function makeThumbnails($updir, $img, $id) { $thumbnail_width = 134; $thumbnail_height = 189; $arr_image_details = getimagesize("$updir" . $id . '_' . "$img"); // Calculate new dimensions while preserving aspect ratio // ... // Create new image and copy from original image with resizing // ... // Save the thumbnail imagepng($new_image, "$updir" . $id . '_' . "thumb" . "$img"); }
結論:
これらの手順に従い、適切な画像処理ライブラリを使用すると、効果的に次のことができます。アスペクト比を維持しながら、アップロードされた画像からサムネイルを作成します。これにより、サムネイルが元の画像の完全性を維持し、Web サイトやアプリケーションの視覚的な魅力を高めることができます。
以上がアスペクト比を維持しながら、アップロードされた画像からサムネイルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。