Я пытаюсь найти лучший способ снизить качество изображения JPEG на веб-странице, как это http://vimeo.com/3750507
Существует ли на стороне сервера способ сохранения и повторного сохранения с более низким качеством, чем отображение изображения при каждой подаче страницы?
Заранее спасибо.
Следующий скрипт будет ухудшать исходное изображение на 1 «пункт качества» при каждой загрузке страницы, начиная с 99. Это не очень надежно, но должно четко демонстрировать концепцию.
Внимание: это заменит оригинальное изображение! Используйте копию, если важен оригинал!
session_start();
if (empty($_SESSION['quality'])) $_SESSION['quality'] = 99;
$file = 'degrade.jpg';
imagejpeg(imagecreatefromjpeg($file), $file, $_SESSION['quality']);
$_SESSION['quality']--;
header('Content-type: image/jpeg');
echo file_get_contents($file);
На первой странице загрузки:
Загрузка десятой страницы:
Загрузка сотой страницы:
Других решений пока нет …