首页 > 解决方案 > PHP将图像大小调整为指定大小

问题描述

是否可以使用大图像将 PHP 中的图像调整为以千字节为单位的指定大小?

示例:IMGonline.com.ua

标签: phpimage-resizing

解决方案


您完全可以使用 resize 将大小调整为特定大小,因此如果您知道一定数量的像素将在该大小范围内,则可以设置像素大小。我用过100x100,供参考。

$resize = new ResizeImage('image.png');
$resize->resizeTo(100, 100, 'exact');
$resize->saveImage('/resized/image.png');

使用这个理论,您可以采用相同的方法,如果图像已经是该大小或小于该大小,您可以调整它的大小。

if ($file_size < 5000) {
 $resize = new ResizeImage('image.png');
 $resize->resizeTo(100, 100, 'exact');
 $resize->saveImage('/resized/image.png');
} else {
    // Error
}

所以你可以像这样运行它

// Upload Image
  // Resize image
 $resize = new ResizeImage('image.png');
 $resize->resizeTo(100, 100, 'exact');
 $resize->saveImage('/resized/image.png');
// Save image
// Open saved image
// Check image size
// Confirm or resize progressively smaller.

希望 resize 属性有一些用处。您在问题中没有提供任何代码,但我认为最好的方法是检查大小并保存是否可以,如果没有,您将再次调整大小并再次检查。显然,您必须这样做,直到它的大小正确,因此执行时间可能需要更长的时间。我想不出用php函数压缩图像的直接方法,除非你压缩图像而不是调整它们的大小。


推荐阅读