PHP は広く使用されているサーバーサイド スクリプト言語であり、その強力な画像処理機能により、Web サイト開発者にとって非常に便利なツールが提供されます。 PHP を通じて GD (画像処理ライブラリ) 拡張機能を使用すると、拡大縮小、切り取り、回転、透かしの追加、サムネイルの生成などの画像の操作を行うことができます。この記事では、PHP を使用して画像処理を行う方法を学びます。
画像処理に PHP の使用を開始する前に、GD 拡張機能がインストールされていることを確認する必要があります。次のコマンドを使用して、GD 拡張機能がインストールされているかどうかを確認できます。
php -m|grep gd
結果が見つからない場合は、GD 拡張機能がインストールされていないことを意味します。 Linux システムでは、次のコマンドを使用してインストールできます。
sudo apt-get install php-gd //使用apt安装 sudo yum install php-gd //使用yum安装
Windows システムでは、インストール用の php.ini ファイルの拡張機能設定に「extension=php_gd2.dll」を追加できます。
2.1 画像ファイルを開く
PHP では、imagecreatefromjpeg() 関数、imagecreatefrompng() 関数、imagecreatefromgif() を使用できます。対応する画像ファイルを開く関数。
たとえば、次のコードを使用して、「test.jpg」という名前の JPEG 形式の画像を開くことができます。
$img = imagecreatefromjpeg("test.jpg");
2.2 画像サイズの調整
imagecopyresampled を使用できます。 () 画像のサイズを調整する関数 この関数の具体的な使い方は次のとおりです:
bool imagecopyresampled(resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h)
このうち、dst_imageはターゲット画像、src_imageはソース画像、dst_xとdst_yは開始座標を表しますターゲット イメージのコピー領域の、src_x と src_y はソース イメージのコピー領域の開始座標を表します。dst_w と dst_h はターゲット イメージのコピー領域の幅と高さを表します。src_w と src_h は幅と高さを表しますソース画像内のコピーされた領域の。
たとえば、画像のサイズを 200x200 のサイズに変更できます。
$img = imagecreatefromjpeg("test.jpg"); $dst_img = imagecreatetruecolor(200, 200); imagecopyresampled($dst_img, $img, 0, 0, 0, 0, 200, 200, imagesx($img), imagesy($img));
このうち、imagecreatetruecolor() 関数は、新しい True Color 画像を作成するために使用されます。 imagex() 関数と imagesy() 関数は、それぞれソース画像の幅と高さを取得するために使用されます。
2.3 画像の回転
画像を回転するには、imagerotate() 関数を使用できます。この関数の具体的な使用方法は次のとおりです。回転された画像、angle は回転角度を示し、bgd_color は画像の背景色を示し、ignore_transparent は透明色を無視するかどうかを示します。
たとえば、画像を 45 度回転できます:
bool imagerotate(resource image, float angle, int bgd_color[, int ignore_transparent])
2.4 ウォーターマークの追加
imagecopy() 関数を使用してウォーターマークを追加できます。この関数は次のようになります。
$img = imagecreatefromjpeg("test.jpg"); $dst_img = imagerotate($img, 45, 0);
このうち、 dst_image はターゲット画像を表し、 src_image はソース画像を表します。 dst_x と dst_y はターゲット画像内のコピー領域の開始座標を表します。 src_x と src_y は開始座標を表しますソース画像のコピー領域の src_w と src_h は、ソース画像のコピー領域の幅と高さを表します。
たとえば、画像に透かしを追加できます:
bool imagecopy(resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h)
このうち、watermark.png は背景が透明な PNG 形式の透かし画像で、テスト用に追加します。 jpg 画像の右下隅、境界線から 10 ピクセル離れた場所。
2.5 サムネイルの生成
imagecopyresampled() 関数を使用してサムネイルを生成できます。この関数の具体的な使用方法は次のとおりです。ターゲット イメージ、src_image はソース イメージを表します。dst_x と dst_y はターゲット イメージ内のコピーされた領域の開始座標を表します。src_x と src_y はソース イメージ内のコピーされた領域の開始座標を表します。dst_w と dst_h はソース イメージの幅と高さを表します。ターゲット イメージ内のコピーされた領域、src_w および src_h は、ソース イメージ内のコピーされた領域の幅と高さを表します。
たとえば、幅 100 ピクセルのサムネイルを生成できます。
$img = imagecreatefromjpeg("test.jpg"); $watermark = imagecreatefrompng("watermark.png"); imagecopy($img, $watermark, imagesx($img)-imagesx($watermark)-10, imagesy($img)-imagesy($watermark)-10, 0, 0, imagesx($watermark), imagesy($watermark));
bool imagecopyresampled(resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h)
概要
PHP の画像処理機能を使用すると、次のことが簡単に行えます。サイズ変更、回転、透かしの追加、サムネイルの生成など、画像に対してさまざまな操作を実装します。これは開発者にとって非常に便利な機能です。この記事の紹介を通じて、読者の皆様が PHP 画像処理の基本的な使い方をマスターし、Web サイト開発作業をより便利にしていただけることを願っています。
以上がPHPを使った画像処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。