imagecopyresampled()
是 PHP 中用于复制并调整图像大小的函数
src_image
: 源图像的路径。这应该是一个有效的图像文件,如 JPEG、PNG 或 GIF。dst_image
: 目标图像的路径。这也是一个有效的图像文件,但它可以是与源图像相同或不同的格式。src_x
: 源图像中要复制的部分的 x 坐标。src_y
: 源图像中要复制的部分的 y 坐标。dst_x
: 目标图像中复制内容的位置的 x 坐标。dst_y
: 目标图像中复制内容的位置的 y 坐标。src_width
: 源图像中要复制的部分的宽度。src_height
: 源图像中要复制的部分的高度。dst_width
: 目标图像中复制内容的目标宽度。dst_height
: 目标图像中复制内容的目标高度。以下是一个使用 imagecopyresampled()
的示例:
<?php
// 加载源图像和目标图像
$source = imagecreatefromjpeg('source.jpg');
$destination = imagecreatetruecolor(300, 300);
// 设置目标图像的背景颜色
$backgroundColor = imagecolorallocate($destination, 255, 255, 255);
imagefill($destination, 0, 0, $backgroundColor);
// 使用 imagecopyresampled() 函数复制并调整源图像的大小
imagecopyresampled($destination, $source, 0, 0, 0, 0, 300, 300, imagesx($source), imagesy($source));
// 保存调整大小后的目标图像
imagejpeg($destination, 'resized_image.jpg');
// 销毁图像资源
imagedestroy($source);
imagedestroy($destination);
?>
在这个示例中,我们从名为 “source.jpg” 的文件加载源图像,然后创建一个 300x300 像素的目标图像。我们使用 imagecolorallocate()
为目标图像分配背景颜色,并使用 imagefill()
将背景填充为白色。接下来,我们使用 imagecopyresampled()
将源图像复制到目标图像的中心位置,并将其大小调整为 300x300 像素。最后,我们将调整大小后的目标图像保存为 “resized_image.jpg”,并销毁图像资源。