此函数适用于 PHP 4.3.0 及以上版本。
imagecopymergegray 函数将一个图像的灰度版本复制到另一个图像的指定区域。此函数允许你在图像中以灰度方式合并图像的一部分。
bool imagecopymergegray(resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h)
此函数返回布尔值 true(成功)或 false(失败)。
以下是如何使用 imagecopymergegray 函数的示例代码:
$src_x = 0; // 源图像区域的起始 x 坐标 $dst_x = 0; // 目标图像区域的起始 x 坐标 imagecopymergegray($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h); // 合并灰度图像 header('Content-Type: image/jpeg'); // 输出结果为 JPEG 格式 imagedestroy($dst_image); // 销毁目标图像资源
<?php
$dst_image = imagecreatetruecolor(400, 400); // 创建目标图像
$src_image = imagecreatefromjpeg('source.jpg'); // 加载源图像
$src_y = 0; // 源图像区域的起始 y 坐标
$src_w = imagesx($src_image); // 源图像的宽度
$src_h = imagesy($src_image); // 源图像的高度
$dst_y = 0; // 目标图像区域的起始 y 坐标
imagejpeg($dst_image); // 输出目标图像
imagedestroy($src_image); // 销毁源图像资源
?>
1. 通过 imagecreatetruecolor 创建一个 400x400 的目标图像。
2. 使用 imagecreatefromjpeg 加载一个名为 "source.jpg" 的源图像。
3. 定义源图像和目标图像的区域起始位置和大小。
4. 调用 imagecopymergegray 将源图像的灰度版本复制到目标图像指定区域。
5. 使用 imagejpeg 输出最终的图像。
6. 最后通过 imagedestroy 销毁图像资源以释放内存。