在PHP中处理图片的10个函数
在PHP中,有很多函数可用于处理图片,以下是一些常用的函数:
1. imagecreatefromgif($filename):创建一幅来自 GIF 文件或 URL 的新图象。
2. imagecreatefromjpeg($filename):创建一幅来自 JPEG 文件或 URL 的新图象。
3. imagecreatefrompng($filename):从一幅 PNG 文件或 URL 新建一图象。
4. imagecreatetruecolor($width, $height):新建一个真彩色图像。
5. imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_width, $dst_height, $src_width, $src_height):重采样拷贝部分图像并调整大小。
6. imagejpeg($image, $filename, $quality):将图像输出到浏览器或文件,作为 JPEG 图像。
7. imagepng($image, $filename, $quality):以 PNG 格式将图像输出到浏览器或文件。
8. imagegif($image, $filename):将图像输出到浏览器或文件,作为 GIF 图像。
9. imagesx($image):获取图像宽度。
10. imagesy($image):获取图像高度。
这些函数提供了一些基本的图像处理功能,如创建图像、调整大小、调整格式以及输出图像。您可以使用这些函数来创建缩略图、调整图像尺寸、改变图像格式等。
以下是一个简单的示例,演示如何使用这些函数来调整图像尺寸并将其保存为 JPEG 文件:
$source_image = 'input.jpg';
$destination_image = 'output.jpg';
$max_width = 800;
$max_height = 600;
// 创建原始图像
$src_image = imagecreatefromjpeg($source_image);
// 获取原始图像的宽度和高度
$src_width = imagesx($src_image);
$src_height = imagesy($src_image);
// 计算新图像的尺寸
$aspect_ratio = $src_width / $src_height;
if ($max_width / $max_height > $aspect_ratio) {
$new_width = $max_height * $aspect_ratio;
$new_height = $max_height;
} else {
$new_width = $max_width;
$new_height = $max_width / $aspect_ratio;
}
// 创建新图像
$dst_image = imagecreatetruecolor($new_width, $new_height);
// 对原始图像进行重采样拷贝并调整大小到新图像
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $new_width, $new_height, $src_width, $src_height);
// 将新图像保存为 JPEG 文件
imagejpeg($dst_image, $destination_image, 90);
// 释放内存
imagedestroy($src_image);
imagedestroy($dst_image);
上述示例中,我们首先创建了一个原始图像,并获取其宽度和高度。然后,我们根据指定的最大宽度和高度计算出新图像的尺寸。接下来,我们创建一个新图像,并使用imagecopyresampled函数将原始图像重采样拷贝调整到新图像的尺寸。最后,我们使用imagejpeg函数将新图像保存为 JPEG 文件。最后,我们释放了占用的内存。
这只是一个简单的示例,您可以根据自己的需求使用这些函数进行更复杂的图像处理操作。
