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

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:コピー元の画像リンクリソースを設定します。

  • dst_x:貼り付け先のX座標(横位置)を設定します。

  • dst_y:貼り付け先のY座標(縦位置)を設定します。

  • src_x:コピー元のX座標(横位置)を設定します。

  • src_y:コピー元のY座標(縦位置)を設定します。

  • src_w:コピーする範囲の幅(ピクセル数)を設定します。

  • src_h:コピーする範囲の高さ(ピクセル数)を設定します。

  • pct:2つの画像を合成する際の割合を指定します。0から100までの範囲で設定でき、値が大きいほどコピー元の画像が濃く表示されます。0を指定するとコピー元は完全に透過し、100を指定するとimagecopy()と同様の不透明なコピーになります。

戻り値

処理が成功した場合はTRUEを、失敗した場合はFALSEを返します。

使用例1

以下は、2つのPNG画像を読み込み、一方をもう一方に合成して出力する基本的な例です。

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

出力結果1

上記のコードを実行すると、2つの画像が合成された画像が出力されます。

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

使用例2

次に、座標やサイズ、合成率を変更して画像をコピー・合成する例を見てみましょう。

<?php
$destImg = imagecreatefrompng('https://www.tutorialspoint.com/images/php.png');
$srcImg = imagecreatefrompng('https://www.tutorialspoint.com/images/Operating-System.png');
    imagecopymerge($destImg, $srcImg, 10, 20, 0, 0, 390, 100, 80);
    header('Content-Type: image/png');
    imagegif($destImg);
    imagedestroy($destImg);
    imagedestroy($srcImg);
?>

出力結果2

上記のコードの出力結果は以下の通りです。

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

  1. 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座標を指定します。

  2. 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