imagecopyresized
是 PHP 中用于调整图像大小的函数,它可以在多种图像格式之间复制并调整大小
首先,确保已经安装了 GD 库和 FreeType 支持。在 PHP 配置文件(php.ini)中,检查以下两个扩展是否已启用:
extension=gd
extension=gd2
接下来,创建一个 PHP 脚本文件(例如:image_copy_resized.php
),并在其中编写以下代码:
<?php
// 设置源图像和目标图像的路径
$source_image = 'path/to/your/source.png';
$destination_image = 'path/to/your/destination.png';
// 读取源图像
$source_image = imagecreatefrompng($source_image);
// 获取源图像的宽度和高度
$source_width = imagesx($source_image);
$source_height = imagesy($source_image);
// 设置目标图像的宽度和高度
$destination_width = 300; // 目标宽度
$destination_height = 200; // 目标高度
// 创建一个新的空白图像,用于保存调整大小后的图像
$destination_image = imagecreatetruecolor($destination_width, $destination_height);
// 保持 PNG 图像的透明度
imagealphablending($destination_image, false);
imagesavealpha($destination_image, true);
// 将源图像复制到目标图像中,并调整大小
imagecopyresized($destination_image, $source_image, 0, 0, 0, 0, $destination_width, $destination_height, $source_width, $source_height);
// 输出调整大小后的图像到浏览器
header('Content-Type: image/png');
imagepng($destination_image);
// 销毁图像资源
imagedestroy($source_image);
imagedestroy($destination_image);
?>
在这个示例中,我们首先设置了源图像和目标图像的路径。然后,我们使用 imagecreatefrompng()
函数读取源 PNG 图像。接下来,我们获取源图像的宽度和高度,并设置目标图像的宽度和高度。
我们创建一个新的空白图像,用于保存调整大小后的图像,并设置其背景颜色为透明。然后,我们使用 imagecopyresized()
函数将源图像复制到目标图像中,并调整大小。最后,我们将调整大小后的图像输出到浏览器,并销毁图像资源。
要运行此脚本,请将 $source_image
和 $destination_image
变量的值替换为实际的源图像和目标图像路径,然后在 Web 服务器上运行该脚本。