Thursday, July 24, 2008

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>sample509(ImageMagick6.4.2)</title>
</head>
<body>
<?php
/* 点線の角丸四角を描画する */
$sx = 100;
$sy = 100;
$px = 5;
$py = 5;
$rx = 10;
$ry = 10;

$im = new Imagick();
$im->newImage($sx, $sy, "white");
$idraw = new ImagickDraw();
/* 塗りつぶし色 */
$idraw->setFillColor('none');
/* 線の色 */
$idraw->setStrokeColor('#bbddff');
/* 点線のスタイル */
$idraw->setStrokeDashArray(array(3,4));
/* 線の幅 */
$idraw->setStrokeWidth(2);
$idraw->roundrectangle($px, $py, $sx-$px, $sy-$py, $rx, $ry);
$im->drawImage($idraw);

$im->writeImage('sample509a.jpg');
/* $idraw->clear(); 2008/09/30追記:destroyと同様にClearDrawingWandを呼ぶので必要なし */
$idraw->destroy();
/* $im->clear(); 2008/09/30追記:destroyと同様にClearMagicWandを呼ぶので必要なし */
$im->destroy();?>

<img src="sample509a.jpg" />

</body>
</html>

出力画像(sample509a.jpg)


動作環境
Apache 2.2.8/PHP5.2.5/ImageMagick6.4.2

関連項目
ImageMagickで点線の角丸四角を描画する - その1 (Convertコマンドでの同様の処理)

No comments: