如何将PHP图片压缩成指定大小?我们可以使用PHP的GD图像处理库来压缩图片大小。以下是一个示例代码,将图片压缩到指定大小:
<?php
// 指定原始图片路径和输出图片路径
$src = 'original_image.jpg';
$out = 'compressed_image.jpg';
// 指定目标图片宽度和高度
$targetWidth = 800;
$targetHeight = 600;
// 创建一个图像对象
$img = imagecreatefromjpeg($src);
// 获取原始图片的宽度和高度
$srcWidth = imagesx($img);
$srcHeight = imagesy($img);
// 计算缩放比例
$scale = min($targetWidth / $srcWidth, $targetHeight / $srcHeight);
// 计算目标图片的宽度和高度
$newWidth = round($srcWidth * $scale);
$newHeight = round($srcHeight * $scale);
// 创建一个新的空白图片对象
$newImg = imagecreatetruecolor($newWidth, $newHeight);
// 复制并调整图像大小
imagecopyresampled($newImg, $img, 0, 0, 0, 0, $newWidth, $newHeight, $srcWidth, $srcHeight);
// 输出到文件
imagejpeg($newImg, $out);
// 释放内存
imagedestroy($img);
imagedestroy($newImg);
?>
在上面的代码中,我们首先指定了原始图片路径和输出图片路径,然后指定了目标图片的宽度和高度。接下来,我们创建了一个图像对象,并获取了原始图片的宽度和高度。然后,我们计算了缩放比例,并根据缩放比例计算了目标图片的宽度和高度。接着,我们创建了一个新的空白图片对象,复制并调整原始图像大小,最后输出到文件并释放内存。
请注意,这只是一个示例代码,具体的压缩方法和参数应该根据实际需求进行调整。