引言
圖片合并基礎
1. GD庫安裝與配置
首先,確保你的PHP環(huán)境中已安裝GD庫。你可以通過以下命令檢查GD庫是否已安裝:
php -m | grep gd
如果輸出中沒有gd
,則需要安裝GD庫。
2. 圖片創(chuàng)建與加載
// 創(chuàng)建一個新的圖片資源
$dstImage = imagecreatetruecolor(500, 500);
// 設置背景顏色
$color = imagecolorallocate($dstImage, 255, 255, 255);
imagefill($dstImage, 0, 0, $color);
// 加載第一張圖片
$srcImage1 = imagecreatefrompng('image1.png');
// 加載第二張圖片
$srcImage2 = imagecreatefrompng('image2.png');
圖片合并技巧
1. 圖片裁剪與定位
// 裁剪第一張圖片
$cutImage1 = imagecrop($srcImage1, ['x' => 0, 'y' => 0, 'width' => 200, 'height' => 200]);
// 裁剪第二張圖片
$cutImage2 = imagecrop($srcImage2, ['x' => 0, 'y' => 0, 'width' => 200, 'height' => 200]);
// 定位圖片
$dstX = 50;
$dstY = 50;
2. 圖片合并
// 合并第一張圖片
imagecopy($dstImage, $cutImage1, $dstX, $dstY, 0, 0, imagesx($cutImage1), imagesy($cutImage1));
// 合并第二張圖片
imagecopy($dstImage, $cutImage2, $dstX + 250, $dstY, 0, 0, imagesx($cutImage2), imagesy($cutImage2));
3. 圖片保存與輸出
// 保存合并后的圖片
imagepng($dstImage, 'merged_image.png');
// 輸出合并后的圖片
header('Content-Type: image/png');
imagepng($dstImage);
實戰(zhàn)案例分析
- 生成二維碼圖片。
- 加載背景圖片。
- 合并二維碼圖片到背景圖片。
- 輸出合并后的圖片。
// 生成二維碼圖片
$code = 'http://www.example.com';
$size = 300;
$qrImage = QRcode::png($code, false, QR_ECLEVEL_L, $size);
// 加載背景圖片
$bgImage = imagecreatefrompng('background.png');
// 合并二維碼圖片到背景圖片
imagecopy($bgImage, $qrImage, 50, 50, 0, 0, imagesx($qrImage), imagesy($qrImage));
// 輸出合并后的圖片
header('Content-Type: image/png');
imagepng($bgImage);