imagecopyresized
复制和调整图像的一部分
PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
imagecopyresized() 函数用于在一个图像中缩放并复制另一个图像。它会调整源图像的尺寸以适应目标图像的指定区域,并将源图像内容按比例调整到该区域内。
imagecopyresized(resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_width, int $dst_height, int $src_width, int $src_height): bool
成功时返回 true,失败时返回 false。
下面的示例展示了如何使用 imagecopyresized() 将一个图像调整为新的尺寸,并将其复制到目标图像的指定位置。
<?php // 创建源图像和目标图像 $src_image = imagecreatefromjpeg('source.jpg'); $dst_image = imagecreatetruecolor(200, 200); <p>// 将源图像缩放并复制到目标图像<br> imagecopyresized($dst_image, $src_image, 0, 0, 0, 0, 200, 200, imagesx($src_image), imagesy($src_image));</p> <p>// 保存目标图像<br> imagejpeg($dst_image, 'resized.jpg');</p> <p>// 释放内存<br> imagedestroy($src_image);<br> imagedestroy($dst_image);<br> ?><br>
在这个示例中,我们首先通过 imagecreatefromjpeg() 函数加载了一个名为 "source.jpg" 的源图像。接着,使用 imagecreatetruecolor() 创建了一个 200x200 像素的目标图像。
然后,使用 imagecopyresized() 函数将源图像的内容按比例调整并复制到目标图像上。目标图像的位置从 (0, 0) 开始,源图像从左上角开始复制,源图像的尺寸由 imagesx($src_image) 和 imagesy($src_image) 获取。
最后,我们使用 imagejpeg() 函数保存调整后的图像,并通过 imagedestroy() 释放内存。