元の品質を維持しながら、アップロードされた画像からレスポンシブなサムネイルを作成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-06 21:10:03
オリジナル
245 人が閲覧しました

How to Create Responsive Thumbnails from Uploaded Images While Maintaining Original Quality?

アップロードされた画像からレスポンシブ サムネイルを作成する

ユーザーがアップロードした画像を操作する場合、ユーザー エクスペリエンスを向上させ、サイトのパフォーマンスを維持するには、レスポンシブ サムネイルを作成することが重要です。このガイドでは、元の画質を維持しながらサムネイルを生成するという課題について説明します。

PHP を使用したサムネイルの生成

PHP には、imagecopyresize() などのさまざまな画像操作関数が用意されています。アップロードされた画像からサムネイルを作成するには、次の手順に従います。

  1. 元の画像を取得します。 getimagesize() を使用して、元の画像のサイズと MIME タイプを取得します。
  2. サムネイルの寸法を計算する: 目的のサムネイル サイズを決定します (例: 100x100 ピクセル)。
  3. 新しい画像リソースを作成します: imagecreatetruecolor() を使用して新しい画像リソースを確立します。
  4. 画像のサイズを変更します: imagecopyresize を使用します。 () サムネイルに合わせて元の画像のサイズを変更します
  5. サムネイルを保存します: imagejpeg() または imagepng() を使用して、サムネイルを目的の場所に保存します。

元の画像品質を維持する

元の画像の品質を維持するには、imagejpeg() でより高い $quality パラメータを使用するか、 imagepng()。このパラメータの範囲は 0 ~ 100 で、値が大きいほど品質が高くなります。

ImageMagick の利用

ImageMagick は、より堅牢な画像操作ライブラリです。サーバーにインストールされている場合は、Imagick クラスを利用してサムネイルを生成できます:

  1. ImageMagick をインストールします: ImageMagick がサーバーにインストールされていることを確認します。
  2. Imagick オブジェクトの作成: 元の画像を使用して Imagick オブジェクトをインスタンス化します。 path.
  3. 画像のプロパティを設定します: クラス メソッドを使用して画像の形式、圧縮、品質を設定します。
  4. 画像のサイズを変更します: summnailImage() を使用します。画像のサイズを変更します。
  5. サムネイルを保存します: を使用しますfile_put_contents() を使用して、サイズ変更された画像を新しいファイルに書き込みます。

サムネイル作成のサンプル コード

サムネイル生成を含めるように変更されたサンプル imageupload.php ファイルを次に示します。

...
if(isset($_FILES['image_data'])){
       if(is_uploaded_file($_FILES['image_data']['tmp_name'])) {

            // Original image processing
            $imgData =addslashes (file_get_contents($_FILES['image_data']['tmp_name']));

            // Thumbnail generation
            if (generateThumbnail($_FILES['image_data']['tmp_name'], 100, 100, 90)) {
                $thumbData = addslashes (file_get_contents($_FILES['image_data']['tmp_name'] . '_thumb.jpg'));

                // Insert original and thumbnail images into the database
                $sql = "UPDATE users SET user_pic='".$imgData."', user_pic_small='".$thumbData."' WHERE>
ログイン後にコピー

このコードは、generateThumbnail() を使用して、寸法付きのサムネイルを作成します100x100、品質 90%。その後、サムネイルは「_thumb.jpg」という接尾辞を付けて保存されます。

これらの手法を実装することで、応答性の高いサムネイルの作成と元の画質の維持の両方を実現できます。

以上が元の品質を維持しながら、アップロードされた画像からレスポンシブなサムネイルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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