ホームページ > バックエンド開発 > PHPチュートリアル > アスペクト比を維持しながら、アップロードされた画像からサムネイルを作成するにはどうすればよいですか?

アスペクト比を維持しながら、アップロードされた画像からサムネイルを作成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-07 02:55:03
オリジナル
952 人が閲覧しました

How to Create Thumbnails from Uploaded Images While Preserving Aspect Ratio?

アスペクト比を維持するためにアップロードされた画像からサムネイルを作成する

概要:

ユーザーが 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート