PHP Изменить размер изображения до указанного размера - PullRequest
0 голосов
/ 19 июня 2020

Можно ли изменить размер изображения в PHP до указанного размера в килобайтах с большими изображениями?

Пример: IMGonline.com.ua

1 Ответ

0 голосов
/ 19 июня 2020

Вы можете полностью изменить размер до определенного размера, используя изменение размера, поэтому, если вы знаете, что определенное количество пикселей будет в пределах этого размера, вы можете установить размер в пикселях. Я использовал 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, если вы не сжали изображения вместо изменения их размера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...