PHPで画像バイナリファイルのサイズを変更する方法
ネットワーク開発やアプリケーションでは、さまざまなニーズや目的を達成するためにイメージを変更する必要があることがよくあります。画像のバイナリ ファイル サイズ (ファイル容量) は、無視できない重要な要素です。画像が大きすぎると、Web サイトやアプリケーションのパフォーマンスと読み込み速度が低下し、ユーザーの損失を引き起こす可能性さえあるからです。画像ファイルのサイズの最適化が非常に必要です。 PHP は強力なプログラミング言語であり、ネットワーク開発でよく使用される言語の 1 つです。以下では、PHP を使用して画像のバイナリ ファイル サイズを変更する方法を紹介します。
1. 画像のバイナリ ファイル サイズを変更する必要があるのはなぜですか?
Web 開発では、ユーザーに画像を表示する方法は数多くありますが、最も一般的な 2 つの方法は、画像をページに直接読み込む方法と、画像を添付ファイルとして提供してユーザーがダウンロードできるようにする方法です。画像を使用してページに直接読み込む場合、Web ページはページのコンテンツに基づいて画像を読み込みます。画像が大きすぎると、Web ページの読み込み速度が遅くなり、最悪の場合、ユーザー エクスペリエンスが低下します。 、Webページがクラッシュする可能性があります。ユーザーにダウンロード用の添付ファイルとして提供される場合、画像のバイナリ ファイル サイズ (ファイル容量) が大きすぎるため、ダウンロード速度が遅くなりすぎ、ユーザー エクスペリエンスが低下します。
したがって、プロジェクト内の画像については、バイナリ ファイル サイズ (ファイル ボリューム) を制御する必要があります。一般的な方法は、画像を圧縮して最適化することです。 PHP 開発の場合、GD ライブラリを使用してイメージのバイナリ ファイル サイズを変更できます。
2. GD ライブラリの紹介
GD ライブラリは、C 言語で書かれたオープンソース ライブラリで、イメージを動的に作成するために使用されます。このライブラリでは、PNG、JPEG、GIF などの形式の画像を処理し、拡大縮小、切り抜き、回転、テキストや透かしの追加などの操作を通じてさまざまな形式の画像を生成できます。 GD ライブラリは、PHP の GD 拡張機能を通じてサポートできる一連の関数を提供します。
3. PHP を使用してイメージ バイナリ ファイルのサイズを変更する方法
PHP を使用してイメージ バイナリ ファイルのサイズを変更する方法は、主に圧縮と最適化によって実現されます。 PHP の GD ライブラリを使用して圧縮と最適化を実現する 2 つの方法を以下に示します:
1. 画像サイズを比率で調整する
この方法では、画像のアスペクト比を変更せずに維持できますが、画像のサイズを調整します。画像は比例して拡大縮小されます。
コード例:
<?php $src_file = 'test.jpg'; // 图片的路径和名称 $dst_file = 'thumbnail.jpg'; // 缩略图的路径和名称 $quality = 50; // 压缩后的图片质量,0~100,0 地表示压缩比最高 $max_width = 200; // 图片最大的宽度 // 获取原始图片的宽和高 $size = getimagesize($src_file); $src_width = $size[0]; $src_height = $size[1]; // 计算缩小比例 if($src_width > $max_width){ $shrink = $max_width / $src_width; } else{ $shrink = 1; } // 计算缩略图的宽度和高度 $des_width = intval($src_width * $shrink); $des_height = intval($src_height * $shrink); // 创建图片资源 $src_image = imagecreatefromjpeg($src_file); $des_image = imagecreatetruecolor($des_width, $des_height); // 拷贝并缩放图片 imagecopyresampled($des_image, $src_image, 0, 0, 0, 0, $des_width, $des_height, $src_width, $src_height); // 保存图片 imagejpeg($des_image, $dst_file, $quality); // 释放图片资源 imagedestroy($src_image); imagedestroy($des_image); ?>
ここでは、test.jpg 画像が比例的に拡大縮小されます。拡大縮小後の最大幅は 200 ピクセルです。保存される画像の名前は summnail.jpg で、圧縮品質は50.
注: この方法を使用すると、ズーム時に画像をトリミングすることも選択できます。画像を拡大または縮小しても透明度が維持される PNG 形式の使用を検討する必要があります。
2. 画質を直接調整する
この方法では、画質を比較・測定し、修正した画像として直接出力することができます。
コード例:
<?php $src_file = 'test.jpg'; // 原始图片 $dst_file = 'optimize.jpg'; // 优化后的图片 $quality = 50; // 压缩后的图片质量,0~100,0 地表示压缩比最高 // 创建图片资源 $src_image = imagecreatefromjpeg($src_file); // 优化图片 imagejpeg($src_image, $dst_file,$quality); // 释放图片资源 imagedestroy($src_image); ?>
このコードでは、test.jpg 画像の圧縮品質が 50 に下げられ、保存される画像の名前は optimize.jpg になります。
注: この方法では画像サイズを変更できないことに注意してください。
4. 概要
PHP の開発では、画像のバイナリ ファイル サイズを変更するために GD ライブラリを使用することが非常に必要です。画像を圧縮して最適化すると、画像のサイズが効果的に削減され、Web ページの読み込み速度が最適化され、ユーザー エクスペリエンスが向上します。この記事では、GD ライブラリの概要と、GD ライブラリを使用して PHP で画像のバイナリ ファイル サイズを変更する 2 つの方法を紹介します。 Web開発を行うPHPエンジニアの参考になれば幸いです。
以上がPHPで画像バイナリファイルのサイズを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、効率的なPHPアレイ重複排除について説明します。 Array_unique()などの組み込み関数をカスタムハッシュマップアプローチと比較し、配列のサイズとデータ型に基づいてパフォーマンスのトレードオフを強調します。 最適な方法は、プロビリに依存します

この記事では、PHPアレイの重複排除を分析し、素朴なアプローチ(O(n²))のパフォーマンスボトルネックを強調しています。 カスタム関数、splobjectStorage、およびハッシュセットの実装を使用して、array_unique()を使用して効率的な代替案を調査し、達成します

この記事では、Keyの一意性を使用してPHPアレイ重複排除について説明します。 直接的な重複除去方法ではありませんが、キーユニークネスを活用することで、キーに値をマッピングして重複を上書きすることにより、一意の値を持つ新しい配列を作成できます。 このAP

この記事では、RabbitMQとRedisを使用してPHPでメッセージキューを実装する詳細を示します。 それは、それらのアーキテクチャ(AMQP対インメモリ)、機能、および信頼性メカニズム(確認、トランザクション、永続性)を比較します。デザインのベストプラクティス、エラー

この記事では、PSRの推奨事項(PSR-1、PSR-2、PSR-4、PSR-12)に焦点を当てた現在のPHPコーディング基準とベストプラクティスを検証します。 一貫したスタイリング、意味のある命名、EFFを通じてコードの読みやすさと保守性を改善することを強調しています

この記事では、大規模なデータセットのPHPアレイ重力化の最適化について説明します。 Array_unique()、array_flip()、splobjectStorage、事前ソートなどの手法を調べ、効率を比較します。 大規模なデータセットの場合、チャンク、データブを示唆しています

この記事では、PHP拡張機能のインストールとトラブルシューティングの詳細で、PECLに焦点を当てています。 インストール手順(検索、ダウンロード/コンパイル、サーバーの再起動、再起動)、トラブルシューティングテクニック(ログのチェック、インストールの確認、

この記事では、PHPの反射APIについて説明し、クラス、方法、およびプロパティのランタイム検査と操作を可能にします。 一般的なユースケース(ドキュメンテーション生成、ORM、依存関係注入)とパフォーマンスオーバーヘアに対する注意の詳細
