Размытое изображение (GD php)

Ответить
Crank174RuS
Сообщения: 66
Зарегистрирован: 19.09.2010
Может кто нибудь дать скрипт который размывает бока изображения?
Или хотя б подсказать как сделать это :)
Вот такой результат нужен: ТЫК

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
либо самому попиксельно проходиться и размывать,
либо использовать что-то вроде http://xdan.ru/class-for-process-add-ef ... a-php.html

функция Gblur_part из этого класса должна решить все твои проблемы)

Crank174RuS
Сообщения: 66
Зарегистрирован: 19.09.2010
Distructor писал(а):либо самому попиксельно проходиться и размывать,
либо использовать что-то вроде http://xdan.ru/class-for-process-add-ef ... a-php.html

функция Gblur_part из этого класса должна решить все твои проблемы)
нужно чтобы центр фотки не был тронут, а за класс спасибо)

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
в той функции что я указал задаются координаты, на которые накладывать фильтр.
т.е. тебе 2 раза ее надо применить - к левому и правому краю

Crank174RuS
Сообщения: 66
Зарегистрирован: 19.09.2010
Distructor писал(а):в той функции что я указал задаются координаты, на которые накладывать фильтр.
т.е. тебе 2 раза ее надо применить - к левому и правому краю
все спасибо)
а без класса можно как нибудь сделать?

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
посмотри как сделано там и возьми оттуда только тот код, который тебе нужен.

Crank174RuS
Сообщения: 66
Зарегистрирован: 19.09.2010
Distructor писал(а):посмотри как сделано там и возьми оттуда только тот код, который тебе нужен.
проблемка(
как сделать чтобы изображение затухало в конце?(Картинка)

Код:

Код: Выделить всё

$filename="1.jpg";
list($width, $height) = getimagesize($filename);
$w=($width/2)-40;
$h=$height;    
$x=0;   
$y=0;    
$image = imagecreatefromjpeg($filename); 
$new_image = imagecreatetruecolor($w,$h);
imagecopy($new_image, $image, 0, 0, $x, $y, $w, $h);

for($i=0; $i<40; $i++) {
imagefilter($new_image, IMG_FILTER_GAUSSIAN_BLUR);
}

imagecolortransparent($new_image, imagecolorallocate($new_image, 0, 0, 0));
imagealphablending($new_image, false);
imagesavealpha($new_image, true);

$x2 = imagesx($new_image); 
$y2 = imagesy($new_image); 

imagecopyresampled($image, $new_image, 0, 0, 0, 0, $x2, $y2, $x2, $y2); 

imagejpeg($image, '2.jpg', 100);
imagedestroy($image);

Ответить