📜  PHP | imagecopymergegray()函数(1)

📅  最后修改于: 2023-12-03 14:45:16.961000             🧑  作者: Mango

PHP | imagecopymergegray()函数

介绍

imagecopymergegray()函数是PHP GD库中的一个函数,用于将一幅图像的一部分与另一幅图像进行合并。该函数可以将源图像的任意部分复制到目标图像的任意位置,并将源图像的像素按指定的比例与目标图像像素进行混合,并生成一个新的合并后的图像。

语法
bool imagecopymergegray(
    $dst_image, 
    $src_image, 
    $dst_x, 
    $dst_y, 
    $src_x, 
    $src_y, 
    $src_w, 
    $src_h, 
    $pct
);

参数说明:

  • $dst_image:目标图像资源标识符。
  • $src_image:源图像资源标识符。
  • $dst_x:目标图像的 x 轴坐标。
  • $dst_y:目标图像的 y 轴坐标。
  • $src_x:源图像的 x 轴坐标。
  • $src_y:源图像的 y 轴坐标。
  • $src_w:源图像的宽度。
  • $src_h:源图像的高度。
  • $pct:合并后的图像透明度,取值范围为 0 - 100。
示例

以下代码片段将两张图片进行合并,并将合并后的图像展示在浏览器中:

// 创建目标图像
$dst_img = imagecreatetruecolor(400, 400);
$dst_color = imagecolorallocate($dst_img, 255, 255, 255);
imagefill($dst_img, 0, 0, $dst_color);

// 创建源图像
$src_img = imagecreatefrompng('source.png');

// 将源图像合并到目标图像中
$x = 100;
$y = 100;
$src_w = imagesx($src_img);
$src_h = imagesy($src_img);
$pct = 50; // 透明度为50%
imagecopymergegray($dst_img, $src_img, $x, $y, 0, 0, $src_w, $src_h, $pct);

// 输出合并后的图像
header('Content-Type: image/png');
imagepng($dst_img);

执行以上代码后,可以在浏览器中看到两张图片进行了合并,并且合并后的图像透明度为 50%。

注意事项
  • 在使用该函数进行图像合并时,需要确保目标图像的大小与源图像的大小相匹配,否则可能会导致合并后的图像拉伸或缩小。

  • $pct 参数的取值范围为 0 - 100,0 表示完全透明,100 表示完全不透明。需要根据实际需求进行调整。

  • 该函数会返回一个布尔值,表示图像是否成功合并。可以根据该值进行错误处理。