函数名称:imagecopyresampled()
函数描述:该函数用于将一幅图像重新取样并调整大小,同时保持图像的质量。它可以将一个源图像的矩形区域复制到目标图像的另一个矩形区域,并进行重新取样以适应目标图像的大小。
适用版本:该函数在PHP 4,PHP 5,PHP 7中可用。
语法:bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
参数:
- $dst_image:目标图像资源标识符。
- $src_image:源图像资源标识符。
- $dst_x:目标图像中复制区域的起始 x 坐标。
- $dst_y:目标图像中复制区域的起始 y 坐标。
- $src_x:源图像中复制区域的起始 x 坐标。
- $src_y:源图像中复制区域的起始 y 坐标。
- $dst_w:目标图像中复制区域的宽度。
- $dst_h:目标图像中复制区域的高度。
- $src_w:源图像中复制区域的宽度。
- $src_h:源图像中复制区域的高度。
返回值:成功时返回 true,失败时返回 false。
示例:
// 创建目标图像资源
$dst_image = imagecreatetruecolor(400, 300);
// 加载源图像资源
$src_image = imagecreatefromjpeg('source.jpg');
// 将源图像重新取样并调整大小后复制到目标图像
$image_resampled = imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, 400, 300, 800, 600);
// 保存目标图像
imagejpeg($dst_image, 'resampled.jpg');
// 释放资源
imagedestroy($dst_image);
imagedestroy($src_image);
在上面的示例中,我们首先创建了一个目标图像资源 $dst_image
,大小为 400x300 像素。然后,我们使用 imagecreatefromjpeg()
函数加载了一个源图像资源 $src_image
,它是一张 JPEG 图片。接下来,我们使用 imagecopyresampled()
函数将源图像重新取样并调整大小后复制到目标图像中。最后,我们使用 imagejpeg()
函数将目标图像保存为 resampled.jpg
。最后,我们通过 imagedestroy()
函数释放了资源。
这个示例中,我们将源图像的整个区域复制到目标图像的左上角,并将其调整为目标图像的大小。