PHPのImagickで四角形とか描画とかしなきゃいけなくなったので、調べたら、うわぁ。。。全然参考になるところないね・・・。
ということで今日まで分かったことをメモメモ。
線を描いたりフォントで文字書いたりするのは、ImagickDrawオブジェクトを利用
↓
このImagickDrawオブジェクトをImagickオブジェクトへはっつける。
↓
出力
という手順を踏むらしい。
どうやらファイルに出力しなくても直接バイナリを得てPHPで出力も可能ということ。
じゃあやってみよう!
<?php
//四角形を描く
$draw = new ImagickDraw();#ImagickDrawを作って...
$draw->line( 0, 0, 250, 0);#右$draw->line( 250, 0, 250, 120);#下
$draw->line( 250, 120, 0, 120);#左
$draw->line( 0, 120, 0, 0);#上
#↑このように線を引く。多角形を描く「polygon」メソッドもあり、こっちでもいいじゃないかなぁと...
//Imagickオブジェクトを作成。実際の出力とかはこっちでやる!
$image = new Imagick();
$image->newImage(252, 122, new ImagickPixel('#FFFFFF'));
#↑新しい画像(キャンバスみたいなもの??)を作成
# 線の幅分を加算しなきゃいけないことに注意。
$image->setImageFormat('gif');#画像フォーマットをgifに設定します。
$image->drawImage( $draw );#描画した四角形を画像に貼り付け!
header('Content-type: image/gif');#適切にMIMEタイプを設定して...
echo( $image->getimageblob() );#「getimageblob」メソッドを使うとバイナリを得ることができるのでそのまま出力。
?>
↑こんな感じ。。。うーむ・・・理屈は理解したが、、、慣れが必要だ・・・。
とりあえず第一関門突破。ここにあとは文字を流し込まなきゃならないので、それはまた後日。
[...] 今日の実験、前回の記事では四角形をつくったので、そこに各辺(たて・よこ)の長さの注釈を入れてみる。 [...]
Comment feed