2014-11-04 2 views
1

Я пытаюсь работать, лучший способ, чтобы ухудшить качество изображения JPEG на веб-странице, как этот http://vimeo.com/3750507Деградация качества изображения jpg каждый раз, когда пользователь посещает страницу?

Есть серверный способ сохранения и повторного сохранения в более низкого качества, то отображение изображение каждый раз, когда страница обслуживается?

Заранее спасибо.

+2

Да. GD или ImageMagick. PHP поддерживает оба. – ceejayoz

+0

Предположительно вам нужно будет использовать файлы cookie, если вы делаете это для каждого пользователя, поэтому вы можете увеличить количество посещений в cookie и использовать это для расчета коэффициента качества JPEG. –

+0

GD включен по умолчанию, ImageMagick не может быть установлен на вашем хосте. Для этой конкретной проблемы вы должны пойти с GD –

ответ

3

Следующий скрипт ухудшит исходное изображение на 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); 

На первой странице загрузки:

first run

Десятая страница загрузки:

tenth run

Сотая загрузки страницы:

one hundredth run

+1

+1 Зеркально мои мысли. –

Смежные вопросы