PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのimagecopymergegray()関数の使い方を徹底解説

PHPのimagecopymergegray()関数は、画像の一部をグレースケールに変換しながらコピーし、別の画像に合成(マージ)するための関数です。GDライブラリに含まれる画像処理関数の一つで、透かし(ウォーターマーク)の作成や画像の重ね合わせなどに活用できます。

構文

imagecopymergegray ( dst_img, src_img, dst_x, dst_y, src_x, src_y, src_w, src_h, pct )

パラメータ

  • dst_im
    コピー先の画像リンクリソースを指定します。

  • src_im
    コピー元の画像リンクリソースを指定します。

  • dst_x
    コピー先のX座標を指定します。

  • dst_y
    コピー先のY座標を指定します。

  • src_x
    コピー元のX座標を指定します。

  • src_y
    コピー元のY座標を指定します。

  • src_w
    コピー元の幅を指定します。

  • src_h
    コピー元の高さを指定します。

  • pct
    コピー元画像(src_im)をグレースケール化する度合いを指定します。0を指定すると完全なグレースケールになり、100を指定すると元の色のまま変換されません。

戻り値

imagecopymergegray()関数は、処理が成功した場合にTRUEを、失敗した場合にFALSEを返します。

使用例

以下はimagecopymergegray()関数を使用した基本的なサンプルコードです。

<?php
   $destImg = imagecreatefromgif('https://www.tutorialspoint.com/images/html.gif');
   $srcImg = imagecreatefromgif('https://www.tutorialspoint.com/images/html.gif');
   imagecopymergegray($destImg, $srcImg, 10, 10, 0, 0, 350, 120, 60);
   header('Content-Type: image/png');
   imagegif($destImg);
   imagedestroy($destImg);
   imagedestroy($srcImg);
?>

出力結果

上記のコードを実行すると、以下のような画像が出力されます。

PHPのimagecopymergegray()関数の使い方を徹底解説

座標を変更した使用例

次に、X座標とY座標、およびpctの値を変更した別の例を見てみましょう。pctに100を指定すると、グレースケール変換されずにそのまま合成されます。

<?php
   $destImg = imagecreatefromgif('https://www.tutorialspoint.com/images/html.gif');
   $srcImg = imagecreatefromgif('https://www.tutorialspoint.com/images/html.gif');
   imagecopymergegray($destImg, $srcImg, 20, 10, 0, 0, 410, 130, 100);
   header('Content-Type: image/png');
   imagegif($destImg);
   imagedestroy($destImg);
   imagedestroy($srcImg);
?>

出力結果

上記のコードを実行すると、以下のような画像が出力されます。

PHPのimagecopymergegray()関数の使い方を徹底解説

  1. PHPのimagecopy()関数とは?画像の一部をコピーする方法を解説

    PHPのimagecopy()関数は、ある画像(ソース画像)の一部を別の画像(コピー先画像)にコピーするために使用されるGDライブラリの関数です。画像の合成やサムネイル作成、ウォーターマークの追加など、さまざまな画像処理に活用できます。 構文 imagecopy( dst_img, src_img, dst_x, dst_y, src_x, src_y, src_w, src_h) パラメータ imagecopy()関数には、以下の8つのパラメータを指定します。 dst_im:コピー先の画像リンクリソースを指定します。 src_im:コピー元の画像リンクリソースを指定します。 dst_x

  2. PHPのimagecopymerge()関数とは?画像のコピーと合成方法を解説

    imagecopymerge()関数とはPHPのimagecopymerge()関数は、ある画像(コピー元)の一部分を別の画像(貼り付け先)にコピーし、指定した透明度で合成(マージ)するためのGDライブラリ関数です。透かし(ウォーターマーク)の追加など、複数の画像を重ね合わせたい場面でよく利用されます。構文imagecopymerge ( dst_img, src_img, dst_x, dst_y, src_x, src_y, src_w, src_h, pct )パラメータdst_img:貼り付け先の画像リンクリソースを設定します。src_img:コピー元の画像リンクリソースを設定します。