imagecopymerge()
是 PHP 中用于合并两个图像的函数
- 创建两个图像资源:一个源图像(source image)和一个目标图像(destination image)。你可以使用
imagecreatefromjpeg()
、imagecreatefrompng()
等函数来创建图像资源。
$sourceImage = imagecreatefromjpeg('source.jpg'); $destinationImage = imagecreatefromjpeg('destination.jpg');
- 获取图像的宽度和高度:使用
imagesx()
和imagesy()
函数获取源图像和目标图像的尺寸。
$sourceWidth = imagesx($sourceImage); $sourceHeight = imagesy($sourceImage); $destinationWidth = imagesx($destinationImage); $destinationHeight = imagesy($destinationImage);
- 创建一个矩形区域:定义要裁剪的源图像区域的坐标($srcX,$srcY)以及宽度和高度($srcWidth,$srcHeight)。
$srcX = 10; $srcY = 10; $srcWidth = 100; $srcHeight = 100;
- 使用
imagecopy()
函数将裁剪后的源图像区域复制到目标图像上。
imagecopy($destinationImage, $sourceImage, $srcX, $srcY, $srcWidth, $srcHeight);
- 保存或输出合并后的图像:使用
imagejpeg()
、imagepng()
等函数将目标图像保存到文件或输出到浏览器。
imagejpeg($destinationImage, 'destination_cropped.jpg'); // 或者输出到浏览器 header('Content-type: image/jpeg'); imagejpeg($destinationImage);
- 释放内存:使用
imagedestroy()
函数释放图像资源。
imagedestroy($sourceImage); imagedestroy($destinationImage);
将以上代码整合在一起,完整的示例如下:
这个示例将从源图像中裁剪一个矩形区域(10,10,110,110),并将其合并到目标图像上。你可以根据需要调整裁剪区域的坐标和尺寸。