Tuesday, July 21, 2009

ImageMagickとPHPで画像を影絵スケッチ風に変換する

Imagickで画像を影絵スケッチ風に変換するには、以下のコードを実行します。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja"
xml:lang="ja" dir="ltr">
<head>
<title>sample1136(ImageMagick6.5.2)</title>
</head>
<body>
<?php
/* 画像サイズ */
$sx = 200;
$sy = 50;

$im = new Imagick("tree1.jpg");

$im->blackThresholdImage('#808080');
$im->whiteThresholdImage('#808080');
$im->negateImage(true);
$im->setImageMatte(true);
$im = $im->fxImage("r", Imagick::CHANNEL_ALPHA);

$im2 = new Imagick();
$im2->newImage($im->getImageWidth(),
$im->getImageHeight(), "#303030");
$im2->sketchImage(8,0,135);

$im->compositeImage($im2, Imagick::COMPOSITE_IN,
0, 0, Imagick::CHANNEL_ALL);

$im->writeImage('sample1136a.png');

$im->destroy();
?>
<img src="sample1136a.png" /><br />

</body>
</html>


元画像(tree1.jpg)


出力画像(sample1136a.png)
Imagickで影絵スケッチ風に変換した画像

No comments: