PHP+imagickでテキストを書き出す方法のメモ(1)

ImagickDraw::annotationを使う方法。

ImagickDraw::annotation
(PECL imagick 2.0.0)
ImagickDraw::annotation — 画像上にテキストを描画する

説明
bool ImagickDraw::annotation ( float $x , float $y , string $text )

警告
この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。

画像上にテキストを描画します。
引用元:PHP(http://www.php.net/manual/ja/imagickdraw.annotation.php)

例)
  1. $image = new Imagick();
  2. $text = 'SAMPLE';
  3. $draw = new ImagickDraw();
  4. $draw->setFont('Verdana');
  5. $draw->setFontSize(32);
  6. $draw->setFillColor('DeepSkyBlue');
  7. $draw->setTextAntialias(1);
  8. $metrics = $image->queryFontMetrics($draw, $text);
  9. $draw->annotation(0,$metrics[ascender],$text);
  10. $image->newImage(floor($metrics[textWidth] + $metrics[boundingBox][x1]),$metrics[textHeight],'white');
  11. $image->drawImage($draw);
  12. $image->setImageFormat('png');
  13. $image->writeImages('sample.png', true);

実行結果)