imagecopy()
是 PHP 中用于將一個圖像的某一部分復制到另一個圖像的函數
src_image
:源圖像的路徑或資源。這可以是一個圖像文件(如 JPEG、PNG 或 GIF)的路徑,或者是一個通過 imagecreatefromjpeg()
、imagecreatefrompng()
等函數創建的圖像資源的句柄。
dest_image
:目標圖像的路徑或資源。這可以是一個圖像文件(如 JPEG、PNG 或 GIF)的路徑,或者是一個通過 imagecreate()
等函數創建的圖像資源的句柄。
src_x
:源圖像中復制內容的左上角 x 坐標。
src_y
:源圖像中復制內容的左上角 y 坐標。
dest_x
:目標圖像中粘貼內容的左上角 x 坐標。
dest_y
:目標圖像中粘貼內容的左上角 y 坐標。
src_width
:要復制的源圖像部分的寬度。如果省略此參數,則默認復制整個源圖像。
src_height
:要復制的源圖像部分的高度。如果省略此參數,則默認復制整個源圖像。
以下是一個簡單的示例,演示如何使用 imagecopy()
將源圖像的一個矩形區域復制到目標圖像:
<?php
// 創建源圖像和目標圖像資源
$src_image = imagecreatefromjpeg('source.jpg');
$dest_image = imagecreate(800, 600);
// 設置背景顏色
$background_color = imagecolorallocate($dest_image, 255, 255, 255);
imagefill($dest_image, 0, 0, $background_color);
// 獲取源圖像和目標圖像的尺寸
$src_width = imagesx($src_image);
$src_height = imagesy($src_image);
$dest_width = imagesx($dest_image);
$dest_height = imagesy($dest_image);
// 計算要復制的源圖像部分的尺寸
$src_x = 50;
$src_y = 50;
$dest_x = 100;
$dest_y = 100;
$copy_width = 200;
$copy_height = 150;
// 使用 imagecopy() 復制源圖像的一部分到目標圖像
imagecopy($dest_image, $src_image, $dest_x, $dest_y, $src_x, $src_y, $copy_width, $copy_height);
// 保存目標圖像到文件
imagejpeg($dest_image, 'destination.jpg');
// 釋放資源
imagedestroy($src_image);
imagedestroy($dest_image);
?>
在這個示例中,我們首先創建了源圖像和目標圖像資源,然后設置了目標圖像的背景顏色。接下來,我們獲取了源圖像和目標圖像的尺寸,并計算了要復制的源圖像部分的尺寸。最后,我們使用 imagecopy()
將源圖像的一部分復制到目標圖像,并將結果保存到文件。