📜  PHP | imagecopy()函数(1)

📅  最后修改于: 2023-12-03 15:33:33.142000             🧑  作者: Mango

PHP | imagecopy()函数

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 示例图

注意事项
  • 要使用 imagecopy() 函数,必须开启 GD 扩展。
  • imagecopy() 函数只有在源图像和目标图像使用相同类型的图像资源时才能使用。对于两个颜色类型不同或深度不同的图像资源,需要使用 imagecopymerge() 函数或其他对应的函数。