在PHP中,imagecopymerge()
函數用于將一個圖像粘貼到另一個圖像上,并指定透明度。這個函數通常用于創建圖像水印效果,即在一張圖片上疊加另一張帶有標識或者信息的圖片。
下面是一個簡單的示例,演示了如何使用imagecopymerge()
函數在一張圖片上添加水印:
// 創建一個背景圖像
$background = imagecreatefromjpeg('background.jpg');
// 創建一個水印圖像
$watermark = imagecreatefrompng('watermark.png');
// 獲取水印圖像的寬度和高度
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// 設置水印的位置(這里設置在右下角,距離邊緣20像素)
$dest_x = imagesx($background) - $watermark_width - 20;
$dest_y = imagesy($background) - $watermark_height - 20;
// 將水印圖像合并到背景圖像上
imagecopymerge($background, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 50);
// 輸出合并后的圖像到瀏覽器
header('Content-Type: image/jpeg');
imagejpeg($background);
// 釋放內存
imagedestroy($background);
imagedestroy($watermark);
在上面的示例中,我們首先創建了一個背景圖像(background.jpg
)和一個水印圖像(watermark.png
)。然后計算了水印在背景圖像上的位置,并使用imagecopymerge()
函數將水印圖像合并到背景圖像上,并設置了50的透明度。最后,將合并后的圖像輸出到瀏覽器,并釋放內存。
通過調整水印的位置、透明度等參數,可以實現不同的水印效果。這種方法可以用于給圖片添加標識、版權信息等。