PHP はスクリプト言語として、画像処理関数の豊富なライブラリを備えており、拡大縮小、切り取り、透かし、フィルターなどの画像に対するさまざまな処理操作を簡単に実行でき、さまざまな形式の画像をサポートしています。
この記事では、PHP で一般的に使用される画像処理関数を紹介し、実践的なアプリケーション シナリオとサンプル コードを提供します。
1. ズームとクロップ
画像処理ではズームとクロップが一般的ですが、以下ではそれに対応するPHPの画像処理関数を詳しく紹介します。
imagecopyresize() は、PHP で最も一般的に使用されるスケーリング関数で、元の画像のアスペクト比を維持しながら画像のサイズを変更できます。
この関数の構文は次のとおりです。
bool imagecopyresize ( 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 )
パラメータの説明:
次は、画像をスケーリングするためのコード例です:
$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor (300, 300);
$src_w = imagex($src_image);//ソース画像の幅を取得します
$src_h = imagey($src_image);//ソース画像の高さを取得します
$ dst_w = 300;
$dst_h = 300;
imagecopyresize($dst_image, $src_image, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h);
imagepng($ dst_image, 'resize .png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>
imagecopyresampled() は、PHP でトリミングに使用される関数で、imagecopyresize() と同様の関数ですが、より高品質なスケーリング効果を実現できます。
この関数の構文は次のとおりです。
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 )
パラメータの説明は imagecopyresize() と同じです。
次は、画像をトリミングするコード例です:
$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor( 200, 200);
$src_w = imagex($src_image);//ソース画像の幅を取得します
$src_h = imagey($src_image);//ソース画像の高さを取得します
$dst_w = 200 ;
$dst_h = 200;
$x = 0;
$y = 0;
$src_x = ($src_w-$dst_w)/2;
$src_y = ($src_h -$ dst_h)/2;
imagecopyresampled($dst_image, $src_image, $x, $y, $src_x, $src_y, $dst_w, $dst_h, $dst_w, $dst_h);
imagepng($dst_image , ' Crop.png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>
2.ウォーターマーク
ウォーターマークを追加します画像 これは実際のアプリケーションによく関係するシナリオであり、PHP も対応する機能サポートを提供します。
imagecopy() 関数を使用すると、ある画像を別の画像にオーバーレイして透かし効果を実現できます。
この関数の構文は次のとおりです:
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 )
パラメータの説明:
次はウォーターマークを含むコード例です:
$src_image = imagecreatefrompng('origin.png');
$watermark_image = imagecreatefrompng('watermark.png');
$src_w = imagex($src_image);//ソース画像の幅を取得します
$src_h = imagey($src_image);//ソース画像の高さを取得します
$watermark_w = imagex($watermark_image); // ウォーターマークの幅を取得します
$watermark_h = imagey($watermark_image); // ウォーターマークの高さを取得します
$max_width = $src_w - $watermark_w - 10; // 最大値ウォーターマークの位置が許可されますWidth
$max_height = $src_h - $watermark_h - 10; //ウォーターマークの位置に許可される最大の高さ
$x = rand(10, $max_width); //ランダムに生成されたウォーターマークの横座標ウォーターマーク位置
$ y = rand(10, $max_height); // ウォーターマーク位置の垂直座標をランダムに生成します
imagecopy($src_image, $watermark_image, $x, $y, 0, 0, $watermark_w , $watermark_h);
imagepng($src_image, 'watermarked.png');
imagedestroy($src_image);
imagedestroy($watermark_image);
?>
3. フィルター
PHP は、写真をより興味深く芸術的にするためのさまざまなフィルター効果も提供します。
imagefilter() 関数は、反転、グレースケール、ぼかしなどのさまざまなフィルター効果をサポートしています。詳細については、PHP 公式ドキュメントを参照してください。
以下はフィルター効果を使用したコード例です:
$src_image = imagecreatefrompng('origin.png');
imagefilter($src_image, IMG_FILTER_PIXELATE, 15, true);//モザイク
imagefilter($src_image, IMG_FILTER_CONTRAST , -50);//コントラストを調整
imagepng($src_image, 'filter.png');
imagedestroy($src_image);
?>
上記のコードはモザイクと画像のコントラスト調整。
要約すると、PHP は画像処理における強力なサポートを提供し、機能はシンプルで使いやすく、ほとんどのアプリケーション シナリオのニーズを満たすことができます。よく使われるこれらの画像処理機能を理解することで、Webアプリケーション開発の効率が大幅に向上します。
以上がPHPの画像効果処理関数の使い方入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。