Tuesday, January 13, 2009

ImageMagickとPHPで画像を縮小・回転させて他の画像と重ね合わせる

ImageMagickとPHPで画像を縮小・回転させて他の画像と重ね合わせるには、以下のコードを実行します。

<!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>sample737(ImageMagick6.4.4)</title>
</head>
<body>
<?php
/* 画像を縮小、回転させて背景画像と重ねあわせる */
$im = new Imagick("sf.jpg");
/* 縦横1/2にリサイズ */
$im->resizeImage($im->getImageWidth()/2,
$im->getImageHeight()/2, imagick::FILTER_MITCHELL, 1);
/* 生じるスペースの部分に透明を指定して画像を回転 */
$im->rotateImage('none', -20);
$im2 = new Imagick("sf2.jpg");
$im2->compositeImage($im, Imagick::COMPOSITE_DEFAULT, 170, 10, Imagick::CHANNEL_ALL);

$im2->writeImage('sample737a.png');

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

</body>
</html>


元画像1(sf.jpg)


元画像2(sf2.jpg)


出力画像(sample737a.png)


環境
Apache 2.2.8/PHP5.2.5/ImageMagick6.4.4

関連項目
ImageMagickとPHPで画像を半透明にして重ね合わせる
ImageMagickとPHPで、画像に半透明角丸四角の枠をつける

No comments: