📅  最后修改于: 2023-12-03 15:33:35.684000             🧑  作者: Mango
drawImage()
函数是 PHP GD 库提供的一个功能强大的函数,用于将图片绘制到画布中。它支持将图片调整大小、切割、旋转、透明度、位置等操作,是绘图和图像处理常用的函数之一。
bool imagecopyresampled(
resource $dst_image, // 目标图像资源
resource $src_image, // 源图像资源
int $dst_x, int $dst_y, // 目标 x、y 坐标
int $src_x, int $src_y, // 源 x、y 坐标
int $dst_w, int $dst_h, // 目标宽度、高度
int $src_w, int $src_h // 源宽度、高度
)
$dst_image
:目标图像资源,即要将源图像绘制到的画布。$src_image
:源图像资源,即要绘制到目标图像上的图片。$dst_x
、$dst_y
:目标图像的左上角坐标。$src_x
、$src_y
:源图像的左上角坐标。$dst_w
、$dst_h
:目标图像的宽度和高度。$src_w
、$src_h
:源图像的宽度和高度。使用 drawImage()
函数需要先创建以上两个资源,并将源图像绘制到目标图像上,函数才能生效。下面是快速创建资源的方式:
$dst_image = imagecreatetruecolor($dst_w, $dst_h);
$src_image = imagecreatefromjpeg($src_file);
其中,imagecreatetruecolor()
函数用来创建一个空的目标图像资源,imagecreatefromjpeg()
函数用来从一个 JPEG 格式的文件读取图像资源。
下面是一个使用 drawImage()
函数将一张源图像绘制到目标图像上的案例:
// 目标图像大小(480*320)
$dst_w = 480;
$dst_h = 320;
// 源图像大小
list($src_w, $src_h) = getimagesize($src_file);
// 计算最终绘制到目标图像中图像的比例和大小
$ratio = min($dst_w / $src_w, $dst_h / $src_h);
$dst_w = $src_w * $ratio;
$dst_h = $src_h * $ratio;
// 创建目标图像资源和源图像资源
$dst_image = imagecreatetruecolor($dst_w, $dst_h);
$src_image = imagecreatefromjpeg($src_file);
// 将源图像绘制到目标图像上
imagecopyresampled(
$dst_image, // 目标图像资源
$src_image, // 源图像资源
0, 0, // 目标 x、y 坐标
0, 0, // 源 x、y 坐标
$dst_w, $dst_h, // 目标宽度、高度
$src_w, $src_h // 源宽度、高度
);
// 输出绘制好的图像
header('Content-Type: image/jpeg');
imagejpeg($dst_image);
在以上例子中,我们将一个 JPEG 格式的源图像按比例绘制到一个 480*320 大小的目标图像上,并输出绘制完成的图像。其中,使用了 getimagesize()
函数可以方便地获取到一个图像文件的宽度和高度信息。
drawImage()
函数是 PHP GD 库中非常重要而强大的一个函数,它可以用于将图片绘制到画布中,并支持各种图像处理操作。使用该函数需要首先创建两个资源——目标图像和源图像,然后再调用 imagecopyresampled()
函数将源图像绘制到目标图像中。使用 drawImage()
函数能够让我们轻松地实现各种图片处理需求,为网站和应用的设计提供了更多的可能性。