Сведения о вопросе

Pytdev

22:14, 1st October, 2020

Теги

PHP    

PHP Качество preview фотографий?

Просмотров: 371   Ответов: 4

Привет.


С помощью чего можно добиться такого же качества создания превью фотографий как вконтакте?


Я использую либу GD.


Качество фотографии вконтактике:

ff90d871.jpg


Качество фотографии моим скриптом:

75c6265b.jpg


Большое фото: habrastorage.org/storage/cc25b25a/d18df0d0/cf683fb...


При всем при этом фото вконтакте с лучшим качеством весит 7кб, а моя 16кб…


Мой скрипт: pastebin.com/YUAYdPCf


Собственно необходимо решить 2 проблемы.

Сделать качество лучшим и при этом уменьшить размер превью.



  Сведения об ответе

DO__IT

04:26, 27th September, 2020

[могу ошибаться]imagecopyresized замени на imagecopyresampled[/могу ошибаться]


  Сведения об ответе

VCe znayu

20:14, 25th September, 2020

Используй GraphicsMagick — и не забудь использовать фильтр для добавления резкости.
Фильтр предаёт чёткость изображению, (хотя в примере на фотке вконтакте он не используется)
в консольном вызове добавить параметр ' -sharpen 1x10'
(можно и ImageMagick там тоже есть этот фильтр)

фрагмент для GraphicksMagick одной PHP либы (название не помню, но если интересует, найду её)

$command = $this->gmPath.' convert'
. ' ' . escapeshellcmd($path) . ' -crop'
. ' ' . $srcWidth . 'x' . $srcHeight . '+' . $srcX . '+' . $srcY
. ' -resize ' . $dstWidth . 'x' . $dstHeight
. ' -sharpen 1x10'
. ' -quality 75'
. ' ' . escapeshellcmd($cacheFile);

exec($command);


  Сведения об ответе

crush

16:13, 29th September, 2020

Я думаю, вконтакте не использует GD. В свое время сам столкнулся с проблемой качества. Лучше использовать imagemagic.


  Сведения об ответе

lats

08:00, 28th September, 2020

Используйте imagemagick
convert FROM -resize WxH -quality 90 TO

Пример с PHP:

$original

exec('convert '.$original.' -resize '.$size.' -quality 90 '.$to);


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться