How to achieve a blur effect in PHP?

12,299

Solution 1

You can use ImageMagic

Original Image

enter image description here

Run via exec

convert a.png -blur 0x3 a_blur.png

Output

OR Run

convert a.png -blur 0x8 a_blur.png

enter image description here

Solution 2

It is possible also without 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);

After 10 blur applied;

enter image description here

Share:
12,299
Ahmed Moness
Author by

Ahmed Moness

Updated on July 20, 2022

Comments

  • Ahmed Moness
    Ahmed Moness almost 2 years

    I've been looking for PHP code to apply a Gaussian blur to images.

    What I've done was like this:

    <?php
    $image = imagecreatefromjpeg('new.jpg'); 
    imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
    imagejpeg($image, 'blur.jpeg');
    imagedestroy($image);
    ?>
    

    However the effect is very weak, and if I repeat the blur effect, it takes a very long time to process and the end result is still not that good.

    I also used Timthumb , I always liked its simplicity, but it crops the image by default and its blurring effect is very weak.