Ubuntu コマンドラインでPHPを実行し、GDで画像加工

PHPをWebサーバーではなく、コマンドラインで実行できることを確認しました。
Ubuntu コマンドラインでPHPを実行する(php5-cli)


今度は、コマンドラインからPHPのプログラムを実行し、GDで画像加工してみようと思います。

参考にしたGDのマニュアルはこちら。
画像処理 (GD)




GDライブラリのインストール



php5-cliをインストールしただけではGDライブラリは使用できません。
php5-gdをインストールしてやる必要があります。


$ sudo apt-get install php5-gd




php --info(またはphp -i)で、phpの設定情報が表示できます。
gdでgrepしてみると、php5-gdのインストール後はこんな表示になるはずです。


$ php --info | grep gd
Additional .ini files parsed => /etc/php5/cli/conf.d/gd.ini,
gd
gd.jpeg_ignore_warning => 0 => 0




/etc/php5/cli/conf.d/gd.iniを開いてみると、gd.soをロードする処理が
追加されていました。


$ vi /etc/php5/cli/conf.d/gd.ini
; configuration for php GD module
extension=gd.so







画像に文字列を上書きするサンプル



ちゃんと動いてくれるか、以下の画像に文字を上書きして保存する
サンプルを書いて見ました。

■sample.png

10_001_20111210145240.png



<?php

#背景色のみの画像を読み込み
$im = imagecreatefrompng('sample.png');

#赤色を定義
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);

#埋め込むテキスト
$text = 'Symfoware';
#テキストの描画に使用するフォントファイル
$font = '/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf';

#テキスト書き込み
imagettftext($im, 40, 0, 10, 50, $red, $font, $text);

#convert.pngという名前でファイルに保存
$result = imagepng( $im, "convert.png");

if ($result) {
    echo "出力成功\n";
} else {
    echo "出力失敗\n";
}

imagedestroy($im);

?>




test.phpという名前で保存し、コマンドラインから


$ php test.php



として実行してやると、以下の出力が得られました。

10_002_20111210145240.png

ちゃんとGDのインストールが行えているみたいです。



関連記事

コメント

非公開コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
Symfoware まとめ

PR




検索フォーム

月別アーカイブ