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>sample734(ImageMagick6.4.4)</title>
</head>
<body>
<?php
/* 手でちぎったように画像を切り取る */
$im = new Imagick('sf.jpg');
$px = 5;
$py = 5;
$im2 = new Imagick();
$im2->newImage($im->getImageWidth(), $im->getImageHeight(), "none");
$im2->setImageMatte(true);
$idraw = new ImagickDraw();
$idraw->setFillColor('white');
$idraw->rectangle($px, $py, $im->getImageWidth()-$px, $im->getImageHeight()-$py);
$im2->drawImage($idraw);
$im2->spreadImage(6);
$im2->medianFilterImage(3);
$im2->compositeImage($im, Imagick::COMPOSITE_IN, 0, 0, Imagick::CHANNEL_ALL);
$im2->writeImage('sample734a.png');
$idraw->destroy();
$im2->destroy();
$im->destroy();
?>
<img src="sample734a.png" />
</body>
</html>
元画像(sf.jpg)
出力画像(sample734a.png)
関連項目
ImageMagickで手で切り取ったように不規則に画像を切り取る (convertコマンドでの同様の処理)
No comments:
Post a Comment