Thursday, May 21, 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>sample1095(ImageMagick6.5.2)</title>
</head>
<body>
<?php
$im = new Imagick();
$im->newImage(300, 50, 'none');
$im->setImageMatte(true);
$idraw = new ImagickDraw();
$idraw->setFillColor('#ffffff');
/* フォント設定 */
$idraw->setFont('Arial');
/* フォントサイズ設定 */
$idraw->setFontSize(43);
/* gravity設定 */
$idraw->setGravity(Imagick::GRAVITY_NORTH);
/* antialiasをoff*/
$idraw->setStrokeAntialias(false);
/* 文字列描画 */
$idraw->annotation(0, 0, "ImageMagick");
$im->drawImage($idraw);

$im2 = new Imagick();
$im2->newPseudoImage(1, 6, 'gradient:#3070A0FF-#FFFF10FF');
$im2->resizeImage(300,50,Imagick::FILTER_POINT,1);
$im->compositeImage($im2, Imagick::COMPOSITE_IN, 0, 0,
Imagick::CHANNEL_ALL);

$im->writeImage('sample1095a.png');
$im2->destroy();
$idraw->destroy();
$im->destroy();
?>
<img src="sample1095a.png" />
</body>
</html>


出力画像(sample1095a.png)
Imagickでバンド状グラデーションで描画した文字列

関連項目
ImageMagickとPHPで、円形のドットの文字列を描画する
ImageMagickとPHPで、文字列の影に横線を入れる
ImageMagickとPHPで画像上に描画した文字列以外の部分をグレースケールにする
ImageMagickとPHPで青白く輝く文字列を描画する
ImageMagickとPHPでドット文字列を描画する

No comments: