Sunday, July 19, 2009

ImageMagickとPHPで画像の上に点線グリッドを描画する

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>sample1135(ImageMagick6.5.2)</title>
</head>
<body>
<?php
/* グリッドサイズ */
$xs = 20;
$ys = 20;

$im = new Imagick("sf.jpg");
$iw = $im->getImageWidth();
$ih = $im->getImageWidth();

$idraw = new ImagickDraw();
/* 線の色 */
$idraw->setStrokeColor('#ffffff');
/* 塗りつぶし色 */
$idraw->setFillColor('none');
/* 点線のスタイル */
$idraw->setStrokeDashArray(array(2,2));
for($ly=0;$ly<$ih;$ly+=$ys){
$idraw->line(0,$ly, $iw,$ly);
}
for($lx=0;$lx<$iw;$lx+=$xs){
$idraw->line($lx,0, $lx,$ih);
}
$im->drawImage($idraw);
$im->writeImage('sample1135a.png');

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

</body>
</html>


元画像(sf.jpg)


出力画像(sample1135a.png)
Imagickで画像の上に点線を描画した画像

No comments: