Я искал PHP-код для применения размытия Gaussian к изображениям.
Я сделал так:
<?php $image = imagecreatefromjpeg('new.jpg'); imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR); imagejpeg($image, 'blur.jpeg'); imagedestroy($image); ?>
Однако эффект очень слабый, и если я повторяю эффект размытия, для обработки требуется очень много времени, и конечный результат все еще не так хорош.
Я также использовал Timthumb, мне всегда нравилась его простота, но она портит изображение по умолчанию, и его эффект размытия очень слабый.
Вы можете использовать ImageMagic
Оригинальное изображение
Запуск через exec
convert a.png -blur 0x3 a_blur.png
ИЛИ Run
convert a.png -blur 0x8 a_blur.png
Это возможно также без ImageMagic lib;
header('Content-Type: image/png'); $blurs = 10; $image = imagecreatefrompng('blur.png'); for ($i = 0; $i < $blurs; $i++) { imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR); } imagepng($image, 'blur10.png'); imagedestroy($image);
После применения 10 размыток;
Оптимизация изображения – это очень тяжелый процесс, так что лично, если у меня есть такая задача в PHP, то я использую эту библиотеку изображений PHP. Вызывается PhpThumb, она может создавать размытые изображения без какого-либо кода, который вам нужен, просто вызвать его скрипт через url и предоставить параметры в соответствии с его документами проверьте его демо .