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

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:コピー先のX座標を指定します。

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

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

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

  • src_w:コピーする領域の幅(ピクセル)を指定します。

  • src_h:コピーする領域の高さ(ピクセル)を指定します。

戻り値

imagecopy()関数は、コピーが成功した場合にTRUEを、失敗した場合にFALSEを返します。

使用例

以下は、GIF画像を読み込んで新しい画像にコピーする基本的な例です。

<?php
   $srcImg = imagecreatefromgif('https://www.tutorialspoint.com/images/html.gif');
   $dest = imagecreatetruecolor(170, 140);
   imagecopy($dest, $srcImg, 0, 0, 0, 0, 180, 260);
   header('Content-Type: image/gif');
   imagegif($dest);
   imagedestroy($dest);
   imagedestroy($srcImg);
?>

このコードでは、imagecreatefromgif()でGIF画像を読み込み、imagecreatetruecolor()で170×140ピクセルの空の画像を作成した後、imagecopy()でコピー元の画像を転送しています。

出力結果

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

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

画像の一部をコピーする例

次に、画像の一部だけを指定してコピーする例を見てみましょう。

<?php
   $srcImg = imagecreatefromgif('https://www.tutorialspoint.com/images/html.gif');
   $dest = imagecreatetruecolor(170, 140);
   imagecopy($dest, $srcImg, 10, 20, 0, 0, 100, 280);
   header('Content-Type: image/gif');
   imagegif($dest);
   imagedestroy($dest);
   imagedestroy($srcImg);
?>

この例では、コピー先の座標を(10, 20)にずらし、コピー元から幅100ピクセル・高さ280ピクセルの領域を切り取ってコピーしています。このようにパラメータを調整することで、任意の位置とサイズの部分コピーが可能になります。

出力結果

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

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

まとめ

imagecopy()関数を使うことで、PHPで簡単に画像の一部を別の画像へコピーできます。座標とサイズを自由に指定できるため、画像のトリミングや合成など、柔軟な画像処理を実現したい场合にぜひ活用してみてください。

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