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つの画像が合成された画像が出力されます。

使用例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の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座標を指定します。
-
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