Quantcast
Channel: omnioo lab. record » PHP/MySQL
Viewing all articles
Browse latest Browse all 59

ImageMagick(PHP)で画像に文字を合成する

$
0
0

サーバーにImageMagickがインストールされていてPHPで使える準備ができていたらもう大丈夫です。
http://www.omnioo.com/record/ubuntudebian/centos6_imagemagick_install/
PHPでImageMagickを使う時の基本いろいろ
http://www.omnioo.com/record/else/imagemagick_basic/
ここわかりやすいです。

画像に文字を合成する基本的な流れはこんな感じになります。

<?php

$filename = “./images/sampleimage.jpg”;
$image = new Imagick($filename);

$draw = new ImagickDraw();
$draw->setFontSize(‘150′);
$draw->setFillColor(‘#ff0000′);
$draw->annotation(1000, 1000, “hogehogehogehoge”);

$image->drawImage($draw);
$image->writeImage(‘output.jpg’);

header(“Content-Type: image/jpeg”);
echo $image;

$draw->clear();
$image->clear();

?>

  1. 画像を用意する。(4.6MBという巨大な画像でやってみました。)
  2. Imagickをnewする。
  3. ImagickDrawもnewする。
  4. $drowオブジェクトから、setFontSizeでフォントのサイズ、setFillColorでフォントの色、annotationでフォントの描画位置(x,y)と実際の文字列を指定します。
  5. drawしてやって、writeImageで書きだして、
  6. 表示。
  7. オブジェクトをクリア(デストロイでもよいのかな。)
Sample

Viewing all articles
Browse latest Browse all 59

Trending Articles