Friday, May 02, 2008

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>sample374</title>
</head>
<body>
<?php
$im = new Imagick('sf2.jpg');
$im->setImageMatte(true);
$im->tintImage(new ImagickPixel("#bbddff"),new ImagickPixel("#f0f0f0"));
$im->writeImage('sample375a.jpg');
/* $im->clear(); 2008/09/30追記:destroyと同様にClearMagicWandを呼ぶので必要なし */
$im->destroy();

?>

<img src="sample375a.jpg" />
</body>
</html>

上記の例では、tintImageメソッドを使用して水色っぽい色(#bbddff)に着色しています。

元画像(sf2.jpg)


出力画像(sample375a.jpg)


関連項目
ImageMagickで、画像を早朝っぽく加工する(Convertコマンド)
ImageMagickで、写真を黄色っぽく着色して端を暗くする (Convertコマンド)
WindowsでImageMagickをPHPから使用するための設定

No comments: