位置: 首页 > PHP > PHP图片处理:压缩图片

PHP图片处理:压缩图片

  • 阅读: 290
  • 发布时间: 2023-08-31 20:06:56
  • 评论: 9999+

要在 PHP 中压缩图片,可以使用 GD 库来进行图像处理。下面是一个示例代码,演示如何使用 GD 库压缩图片:

<?php
// 读取原始图片
$sourceImage = imagecreatefromjpeg('original.jpg');

// 获取原始图片的宽度和高度
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);

// 计算压缩后的尺寸
$targetWidth = 800; // 压缩后的宽度
$targetHeight = ($sourceHeight / $sourceWidth) * $targetWidth;

// 创建一个新的目标画布
$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);

// 将原始图片复制到目标画布并进行压缩
imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $sourceWidth, $sourceHeight);

// 保存压缩后的图片
imagejpeg($targetImage, 'compressed.jpg', 80); // 第三个参数是图像质量,可根据需要进行调整

// 释放内存
imagedestroy($sourceImage);
imagedestroy($targetImage);
?>

在上述代码中,我们首先使用 imagecreatefromjpeg() 函数从原始图片创建一个图像资源对象。然后,通过 imagesx() 和 imagesy() 函数获取原始图片的宽度和高度。

接下来,我们根据压缩后的期望宽度计算目标图片的高度。我们将创建一个具有目标尺寸的新画布,使用 imagecreatetruecolor() 函数创建。

然后,使用 imagecopyresampled() 函数将原始图片复制到目标画布,并进行压缩。这个函数会根据目标尺寸进行图像调整和压缩。

最后,我们使用 imagejpeg() 函数将压缩后的图像保存到指定文件名的 JPEG 文件中。第三个参数是图像质量,值的范围是 0-100,数字越大表示图像质量越好。

在完成图像处理后,我们使用 imagedestroy() 函数释放内存。

请确保你的 PHP 服务器上已经安装了 GD 库,并且你具备对原始图片所在目录的写入权限,以保存压缩后的图片。


发布评论 留下您的评论 给个鼓励吧

搜索

用户推荐

sq1995liu
TA很懒,还没有添加简介
hxm8888
TA很懒,还没有添加简介
haru88
TA很懒,还没有添加简介
287801813
TA很懒,还没有添加简介
ffshen
TA很懒,还没有添加简介
renhuanxi
TA很懒,还没有添加简介
erpao123
TA很懒,还没有添加简介
aa99605
TA很懒,还没有添加简介
summber
TA很懒,还没有添加简介
A7777
TA很懒,还没有添加简介