обработка изображений — PHP Imagick контур / контур и эскиз

У меня проблема с получением нормально контур изображения.

Как это сделать с помощью PHP Imagick?

Входное изображение: Волшебник Имагик

План № 1 Схема

  1. Получите изображение с (более / менее) четким, постоянным фоном (например, белым, красным или прозрачным)
  2. Удалить фон, если он установлен
  3. Добавить контур (определенный цвет)
  4. Удалить изображение внутри

Результат: http://i57.tinypic.com/2wg91qx.png

План № 2 Эскиз

  1. Получите изображение с (более / менее) четким, постоянным фоном (например, белым, красным или прозрачным)
  2. Удалить фон, если он установлен
  3. Добавить эффект эскиза
  4. Удалить изображение внутри

Результат: http://i60.tinypic.com/az9vr5.png


PS:
границы и / или тени не работают для меня хорошо

0

Решение

Есть много способов обрисовать картину. Вот один из них, который делает более или менее то, что вы хотели. Обратите внимание, что изображение мастера требует дополнительной обработки. Первый фон не полностью белый (у него #FEFEFE или похожие пиксели). Также, что более тревожно, верхняя часть стола заполнена чисто белым. Таким образом, вы можете использовать белые пиксели после размытия в качестве фона (мой путь) или попытаться залить заливку из угла с помощью matteFloodfillImage(), Однако это может оставить пространство между ножками стола не прозрачным.

function drawImage(Imagick $i)
{
$i->setImageFormat("png");
header("Content-Type: image/" . $i->getImageFormat());
echo $i;
exit;
}

$o = new Imagick('wizard.png');
$o->setImageBackgroundColor('white'); // handle tranparent images
$o = $o->flattenImages(); // flatten after setting background
$o->blurImage(5, 30);
$o->whiteThresholdImage( "#F8F8F8" );
$o->blackThresholdImage( "#FFFFFF" );
$o->edgeImage(5);
$o->negateImage(false);
$o->paintTransparentImage($o->getImagePixelColor(0, 0), 0, 2000);
$o->colorizeImage("red", 1);

drawImage($o);

Наброски немного сложнее, и я бы рекомендовал продолжить чтение о возможностях обмена мгновенными сообщениями http://www.imagemagick.org/Usage/photos/#color-in

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]