📅  最后修改于: 2023-12-03 15:33:33.142000             🧑  作者: Mango
imagecopy()
函数是一个用于PHP GD(图形库)扩展的函数,它可以将一个图像的一部分复制到另一个图像中。使用该函数可以实现许多图像编辑和处理的功能。
bool imagecopy (
resource $dst_im ,
resource $src_im ,
int $dst_x ,
int $dst_y ,
int $src_x ,
int $src_y ,
int $src_w ,
int $src_h
)
$dst_im
: 目标图像资源。$src_im
: 源图像资源。$dst_x
: 目标图像的起始 X 坐标。$dst_y
: 目标图像的起始 Y 坐标。$src_x
: 源图像的起始 X 坐标。$src_y
: 源图像的起始 Y 坐标。$src_w
: 源图像的宽度。$src_h
: 源图像的高度。该函数会将 $src_im
从 ($src_x, $src_y) 复制到 $dst_im
的 ($dst_x, $dst_y) 处,复制的部分大小为 $src_w × $src_h。
函数执行成功时返回 TRUE
,否则返回 FALSE
。
假设我们有一张名为 source.jpg
的图片,并且希望将该图片的左上角 $100\times100$ 处的 $50\times50$ 的部分复制到一张新的 $200\times200$ 的图像中。
// 原图像资源
$src_im = imagecreatefromjpeg('source.jpg');
// 新的目标图像资源
$dst_im = imagecreatetruecolor(200, 200);
// 复制源图像的一部分到目标图像
imagecopy($dst_im, $src_im, 0, 0, 100, 100, 50, 50);
// 输出结果为 PNG 图像
header('Content-Type: image/png');
// 将处理结果输出到浏览器
imagepng($dst_im);
上述示例会将处理结果输出到浏览器,可以看到新的图像中包含了源图像左上角 $100\times100$ 处的 $50\times50$ 的部分。
imagecopy()
函数,必须开启 GD 扩展。imagecopy()
函数只有在源图像和目标图像使用相同类型的图像资源时才能使用。对于两个颜色类型不同或深度不同的图像资源,需要使用 imagecopymerge()
函数或其他对应的函数。