如果我们想在在PHP中压缩图片,我们可以使用不同的库和技术来进行图片压缩。本文介绍其中一个常用的库是gd图像处理库。gd库提供了在 PHP 中操作图像的功能,包括压缩、裁剪图片等功能。以下是使用 gd 库进行图片压缩的示例代码:
// 原始图片路径和压缩后图片保存路径 $sourceImagePath = 'path/to/your/source/image.jpg'; $compressedImagePath = 'path/to/save/compressed/image.jpg'; // 打开原始图片 $sourceImage = imagecreatefromjpeg($sourceImagePath); // 获取原始图片的宽度和高度 $sourceWidth = imagesx($sourceImage); $sourceHeight = imagesy($sourceImage); // 设置目标宽度和高度(根据需要进行调整) $targetWidth = $sourceWidth / 2; // 原始宽度的一半 $targetHeight = $sourceHeight / 2; // 原始高度的一半 // 创建一个新的画布,用于保存压缩后的图片 $compressedImage = imagecreatetruecolor($targetWidth, $targetHeight); // 进行图片压缩 imagecopyresampled($compressedImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $sourceWidth, $sourceHeight); // 保存压缩后的图片到目标路径 imagejpeg($compressedImage, $compressedImagePath, 75); // 第三个参数是图像质量(0-100) // 释放内存 imagedestroy($sourceImage); imagedestroy($compressedImage);
ps:上述代码中的压缩方法使用的是基于比例的压缩,将原始图片的尺寸缩小了一半。您可以根据需要进行调整,例如修改 $targetWidth 和$targetHeight来控制压缩后的图片尺寸。另外,imagejpeg函数的第三个参数是图像的质量,您可以根据需求调整该值以平衡图片质量和文件大小。除了 "gd" 库,还有其他的第三方库和工具,例如 ImageMagick 和 TinyPNG,可以用于更高级的图片压缩和优化。但是本文这里只介绍gd库这种方法。