Thursday, January 01, 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>sample733(ImageMagick6.4.4)</title>
</head>
<body>
<?php
/* 半透明の吹き出しを描画する */
$im = new Imagick('sf.jpg');

$idraw = new ImagickDraw();
/* 塗りつぶし色設定 */
$idraw->setFillColor('#00000050');
$idraw->roundrectangle(40,50, 160,80, 10,10);
$points[] = array('x' => 100, 'y' => 81);
$points[] = array('x' => 100, 'y' => 91);
$points[] = array('x' => 110, 'y' => 81);
$idraw->polygon($points);
$im->drawImage($idraw);
/* フォント設定 */
$idraw->setFont('Tahoma');
/* フォントサイズ設定 */
$idraw->setFontSize(15);
/* 塗りつぶし色設定 */
$idraw->setFillColor('#ffffffd0');
$im->annotateImage($idraw, 55, 70, 0, "San Francisco");

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

$idraw->clear();
$idraw->destroy();
$im->clear();
$im->destroy();
?>
<img src="sample733a.png" />

</body>
</html>

元画像(sf.jpg)


出力画像(sample733a.png)

No comments: