函数名:imagecopymergegray()
适用版本:PHP 5, PHP 7
用法:imagecopymergegray() 函数将一幅图像的一部分与另一幅灰度图像合并。合并后的图像可以具有不同的透明度,从而创建出混合效果。
语法:bool imagecopymergegray ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )
参数:
- $dst_im:目标图像资源,即要将合并结果复制到的图像。
- $src_im:源图像资源,即要合并的灰度图像。
- $dst_x:目标图像的 x 坐标,即合并结果在目标图像中的位置。
- $dst_y:目标图像的 y 坐标,即合并结果在目标图像中的位置。
- $src_x:源图像的 x 坐标,即要合并的灰度图像的起始位置。
- $src_y:源图像的 y 坐标,即要合并的灰度图像的起始位置。
- $src_w:要合并的灰度图像的宽度。
- $src_h:要合并的灰度图像的高度。
- $pct:合并的透明度,取值范围为 0(完全透明)到 100(完全不透明)之间。
返回值:成功时返回 true,失败时返回 false。
示例:
// 创建目标图像资源
$dst_image = imagecreatefromjpeg('path/to/destination.jpg');
// 创建灰度图像资源
$src_image = imagecreatefromjpeg('path/to/source.jpg');
// 合并灰度图像到目标图像
imagecopymergegray($dst_image, $src_image, 10, 10, 0, 0, 100, 100, 50);
// 保存合并后的图像
imagejpeg($dst_image, 'path/to/merged.jpg');
// 释放资源
imagedestroy($dst_image);
imagedestroy($src_image);
上述示例中,我们首先使用 imagecreatefromjpeg() 函数创建了目标图像资源和灰度图像资源。然后,我们使用 imagecopymergegray() 函数将灰度图像合并到目标图像的指定位置(x=10, y=10)。合并时,设置透明度为 50%。最后,我们使用 imagejpeg() 函数保存合并后的图像,并释放资源。
注意:在使用 imagecopymergegray() 函数前,确保已经加载了 GD 扩展。可以通过在 php.ini 文件中启用 "extension=gd" 来加载该扩展。