Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Карандашный набросок
Форумы портала PHP.SU » » Графика в PHP » Карандашный набросок

Страниц (1): [1]
 

1. Jmunb - 27 Марта, 2012 - 13:14:44 - перейти к сообщению
Добрый день нужен скрипт преобразующий рисунок в карандашный набросок с помощью php GD или imagemagick.
Сейчас эксперементирую со второй.
Вот такие результаты работы:
http://rubart[dot]bget[dot]ru/img.php?id=1
http://rubart[dot]bget[dot]ru/img.php?id=2
http://rubart[dot]bget[dot]ru/img.php?id=3
http://rubart[dot]bget[dot]ru/img.php?id=4
http://rubart[dot]bget[dot]ru/img.php?id=5
http://rubart[dot]bget[dot]ru/img.php?id=6

Код следующий
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $id = $_GET['id'];
  3. header('Content-type: image/jpeg');
  4.  
  5. $image = new Imagick('1.jpg');
  6.  
  7. if($id == 1) {
  8.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY); //делаем картинку серой
  9.         $image->embossImage(0, 1 );     //эффект мятой бумаги
  10. }
  11.  
  12. if($id == 2) {
  13.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY); //делаем картинку серой
  14.         $image->negateImage(1);
  15.         $image->edgeImage(1);
  16.         $image->negateImage(1);
  17.         $image->blurImage(0, 0.5);
  18. }
  19.  
  20. if($id == 3) {
  21.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY); //делаем картинку серой
  22.         $image->negateImage(1);
  23.         $image->charcoalImage (0, 0);
  24.         $image->blurImage(0, .5);
  25. }
  26.  
  27. if($id == 4) {
  28.         $image->setBackgroundColor('white');
  29.         $image->flattenImages();
  30.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY);
  31.         $image->negateImage(1);
  32.         $image->edgeImage(1);
  33.         $image->negateImage(1);
  34.         $image->normalizeImage();
  35.         $image->blurImage(0, .5);
  36.         $image->linearStretchImage(0, .5);
  37. }
  38.  
  39. if($id == 5) {
  40.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY);
  41.         $image->negateImage(1);
  42.         $image->sketchImage(10,0,120);
  43.         $image->blurImage(0, .5);
  44.         $image->negateImage(1);
  45.         $image->sigmoidalContrastImage(0, 1, 0);
  46.         $image->gammaImage(2);
  47. }
  48.  
  49. if($id == 6) {
  50.         $image->setImageColorSpace(Imagick::COLORSPACE_GRAY);
  51.         $image->sketchImage(2,1,+135);
  52. }
  53.  
  54. echo $image;
  55.  


Может кто делал подобно?
И побочный вопрос как выполнять команды к imagemagick с помощью exec?
2. DlTA - 27 Марта, 2012 - 14:48:14 - перейти к сообщению
какие то хреновые наброски

гляньте в фотошопе специальные фильтры, а именно
Sketch->"Graphic Pen"
3. Jmunb - 27 Марта, 2012 - 15:08:42 - перейти к сообщению
DlTA пишет:
какие то хреновые наброски

гляньте в фотошопе специальные фильтры, а именно
Sketch->"Graphic Pen"

Так фотожоп то тут причем?
Я же не буду ставить его на сервер и вызывать через exec(который у меня на хостинге не работает). Интересует возможность генерации именно с помощью php + gd или php + imagick.
Возможны и другие приблуды для php но хотелось бы на базе оных.
4. DlTA - 27 Марта, 2012 - 17:00:12 - перейти к сообщению
Jmunb пишет:
Так фотожоп то тут причем?
чтоб было понятно к чему стремиться.
тем более что это логически гораздо проще реализовать

 

Powered by ExBB FM 1.0 RC1