Какой лучший метод PHP для уменьшения размера изображения без потери качества

Я пытаюсь разработать веб-сайт на основе изображений. Я действительно смущен типом изображения и методами сжатия. Посоветуйте, пожалуйста, лучший способ сжатия размеров изображения.

4 ответа

Решение

Я бы пошел на jpeg, Прочитайте этот пост относительно уменьшения размера изображения и после выбора техники используйте ImageMagick.

Надеюсь это поможет

Если вы хотите уменьшить размер с помощью самого кодирования, вы можете следовать этому коду в php.

<?php 
function compress($source, $destination, $quality) {

    $info = getimagesize($source);

    if ($info['mime'] == 'image/jpeg') 
        $image = imagecreatefromjpeg($source);

    elseif ($info['mime'] == 'image/gif') 
        $image = imagecreatefromgif($source);

    elseif ($info['mime'] == 'image/png') 
        $image = imagecreatefrompng($source);

    imagejpeg($image, $destination, $quality);

    return $destination;
}

$source_img = 'source.jpg';
$destination_img = 'destination .jpg';

$d = compress($source_img, $destination_img, 90);
?>

$d = compress($source_img, $destination_img, 90);

Это просто функция php, которая передает исходное изображение (т.е. $source_img), целевое изображение ($destination_img) и качество изображения, которое потребуется для сжатия (т. е. 90).

$info = getimagesize($source);

getimagesize() Функция используется, чтобы найти размер любого данного файла изображения и вернуть размеры вместе с типом файла.

Вы можете изменить размер и затем использовать imagejpeg()

Не передавайте 100 в качестве качества для imagejpeg() - все, что больше 90, обычно излишне и просто дает вам больший JPEG. Для миниатюры попробуйте 75 и работайте вниз, пока соотношение цены и качества не станет приемлемым.

imagejpeg($tn, $save, 75);

Ну, я думаю, у меня есть кое-что интересное для вас... https://github.com/whizzzkid/phpimageresize. Я написал это для той же цели. Высоко настраиваемый, и делает это великолепно.

Другие вопросы по тегам