PHP+imagickで作成した画像をbase64エンコードして表示

base64エンコードに用いる関数はbase64_encode

base64_encode
(PHP 4, PHP 5)
base64_encode — MIME base64 方式でデータをエンコードする

説明
string base64_encode ( string $data )

指定した data を base64 でエンコードします。
このエンコードは、メールの本体のように 8 ビットクリーンではないトランスポート層を通じても、 バイナリデータが生き残れるように設計されています。
Base64 でエンコードされたデータは、エンコード前のデータにくらべて 33% 余計に容量が必要です。
引用元:PHP(http://jp1.php.net/manual/ja/function.base64-encode.php)

例)
  1. $image = new Imagick();
  2. $draw = new ImagickDraw();
  3. $text = 'Sample';
  4. $draw->setFont('Georgia-Bold');
  5. $draw->setFillColor('rgba(200, 200, 200, 1.0)');
  6. $draw->setFontSize(32);
  7. $draw->setGravity(5);
  8. $metrics = $image->queryFontMetrics($draw, $text);
  9. $image->newImage(ceil(abs($metrics[boundingBox][x1])+$metrics[textWidth]), $metrics[textHeight], 'rgba(255, 255, 255, 1.0)');
  10. $image->annotateImage($draw,0, 0, 0, $text);
  11. $image->setImageFormat('png');
  12. $base64 = base64_encode($image);
  13. echo '<img src="data:image/png;base64,'.$base64.'">';

実行結果)

<img src="data:image/png;base64,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">