Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: IMG_FILTER_GAUSSIAN_BLUR
 
 автор: Shorr Kan   (22.08.2010 в 19:33)   письмо автору
 
 

Как указывать значение блура? У imagefilter , если используется этот параметр, нет третьего параметра (цифирка). Просто я в js меняю силу блура, записываю в хидден, передаю в php, хочу отблурить на указанную величину. А как?...

  Ответить  
 
 автор: sim5   (22.08.2010 в 19:48)   письмо автору
 
   для: Shorr Kan   (22.08.2010 в 19:33)
 

Можете использовать imageconvolution(). Эта функция принимает матрицу фильра 3х3. Для размытия по Гауссу она равна:
1 2 1
2 4 2
1 2 1
Делитель будет равен 16, а смещение 0. Для усиления действия фильтра берется матрица на более элементов. Вообще кроме размытия по Гауссу есть и другие, например, Smoothing, им легче управлять.

  Ответить  
 
 автор: Shorr Kan   (22.08.2010 в 19:52)   письмо автору
 
   для: sim5   (22.08.2010 в 19:48)
 

http://www.pixastic.com/lib/docs/ - тут smooth нет, а мне нужно именно здешний blur (smooth, если бы был) (который пользователь увидел в браузере) повторить в php. Я не очень понял заклинание:

1 2 1
2 4 2
1 2 1

что сие означает? Почитал imageconvolution , но не до конца понял, как воспользоваться для точного соответствия видимого и получаемого. Ведь я получаю обычное число, аля 3.4

  Ответить  
 
 автор: sim5   (22.08.2010 в 20:06)   письмо автору
 
   для: Shorr Kan   (22.08.2010 в 19:52)
 

Вам надо размытие где, в РНР? Вы ведь константу размытия из GD взяли, тога при чем эта JS-библиотека?
<?
$gaussian 
= array(array(121), array(242), array(121));
imageconvolution($image$gaussian160);

Это глубоке размытие, его можно ослабить, если применить такую матрицу:
0 1 0
1 4 1
0 1 0
делитель 8, смещение 0

  Ответить  
 
 автор: Shorr Kan   (22.08.2010 в 20:42)   письмо автору
 
   для: sim5   (22.08.2010 в 20:06)
 

Пользователь будет настраивать блур в интерфейсе (js). Затем сабмит и прием данных в php. туда приходит некая цифирка, равно как и для яркости, и для контраста. Но если в яркость и контраст я ее могу применить напрямую, то как применить это в блур - непонятно.

  Ответить  
 
 автор: sim5   (22.08.2010 в 20:58)   письмо автору
 
   для: Shorr Kan   (22.08.2010 в 20:42)
 

Параметры фильтра можно менять. Посмотрите какой фильр применяется в этой js-билиотеке (это не обязательно может быть матрица Гаусса), и коли он изменяется, то должна и расчитываться матрица (ее параметры). Вот эти параметры матрицы и возмите, посмотрите как делается расчет, и тоже самое сделаете на стороне сервера. Надо полагать js-исходники доступны у них?

  Ответить  
 
 автор: Shorr Kan   (22.08.2010 в 21:00)   письмо автору
 
   для: sim5   (22.08.2010 в 20:58)
 

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

  Ответить  
 
 автор: sim5   (22.08.2010 в 21:02)   письмо автору
 
   для: Shorr Kan   (22.08.2010 в 21:00)
 

Нет, у вас все таки не фотошоп будет, и матрица всего 3х3, но фильтров размытия много, так что....

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования