PHP中的imagecopy函數用于將一個圖像粘貼到另一個圖像上,可以用來實現水印功能。下面是一個簡單的示例代碼:
// 創建圖像資源
$src = imagecreatefromjpeg('source.jpg');
$watermark = imagecreatefrompng('watermark.png');
// 獲取水印圖像的寬高
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// 將水印圖像復制到源圖像的指定位置
$dest_x = imagesx($src) - $watermark_width - 10; // 水印在右下角,離右邊和底邊各10個像素
$dest_y = imagesy($src) - $watermark_height - 10;
imagecopy($src, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height);
// 輸出圖像到瀏覽器或保存到文件
header('Content-Type: image/jpeg');
imagejpeg($src, 'output.jpg');
// 釋放資源
imagedestroy($src);
imagedestroy($watermark);
在這個示例中,我們首先創建了源圖像和水印圖像的資源,然后獲取了水印圖像的寬高。接下來,我們將水印圖像復制到源圖像的指定位置(這里是將水印放在源圖像的右下角),最后輸出圖像到瀏覽器或保存到文件,并釋放資源。
通過調整$dest_x和$dest_y的值,可以改變水印的位置。同時,可以使用imagecopymerge函數來實現帶有透明度的水印效果。