@blog.justoneplanet.info

日々勉強

PHPとImageMagickでテキスト量に合わせたサイズの画像を生成する

■ソースコード

以下のように記述する。

<?php
$text            = "にこにこぷん";//utf-8
$color           = 'black';
$backgroundColor = 'transparent';

$im    = new Imagick();
$idraw = new ImagickDraw();
$idraw->setFont('/usr/share/fonts/bitstream-vera/A-OTF-ShinMGoPro-DeBold.otf');// font
$idraw->setFontSize(30);// font size
$idraw->setGravity(Imagick::GRAVITY_CENTER);// gravity
$idraw->setFillColor($color);// 文字色塗り
$idraw->setStrokeColor($color);// 文字色輪郭
$idraw->annotation(0, 0, $text);
$metrics = $im->queryFontMetrics($idraw, $text);//get the size of string

$im->newImage($metrics['textWidth'], $metrics['textHeight'], $backgroundColor);
$im->drawImage($idraw);
$im->setImageFormat('png');
header('Content-Type: image/png');
echo $im;
$im->destroy();
$idraw->destroy();
?>

14行目でサイズを取得し、16行目でイメージのサイズとして使用する。

■画像

こんな感じのができる!

コメントはまだありません»

No comments yet.

RSS feed for comments on this post.TrackBack URL

Leave a comment