phpで画像をコネコネするためのImageWorkshopライブラリ

今日の空も黄色いですね。

というわけで最近書くブログの内容に一貫性がなくなりつありますが、
今回はphpで画像をコネコネするためのライブラリであるImageWorkshopを紹介しまっす。

PHP Image Workshop - PHP class using GD library for image processing

超有名サイトでも紹介されたライブラリなのでご存知の方も多いでしょう。

トップページにも書いてある通りGDを使うので、
ImageMagickのインストールが嫌だという方にはオヌヌメします。

では早速簡単なサンプルプログラムでも載せてみます。
ここではよくあるアバターなんかに画像を合成するというのをやってみましょう。

-例-
avatar.pngという画像に対してstar.pngという星画像を合成してみる。

// 元となるアバター画像
$avatarLayer = ImageWorkshop::initFromPath('/path/to/avatar.png');

// スター画像
$imageLayer = ImageWorkshop::initFromPath('/path/to/star.png');

// アバター画像に合成(MTはこのライブラリのパラメータ。詳しくはこのライブラリの説明を見てくだせぇ)
$avatarLayer->addLayerOnTop($imageLayer, 2, 2, 'MT');

// 保存先ディレクトリ
$dirPath = '/path/to/';

// 保存ファイル名
$filename = 'avatarstar.png';

// ディレクトリが無ければ作成するかの指定。trueにすれば作成する。
$createFolders = true;

// 透過pngの場合、背景に色を指定できる。今回は指定しない。
$backgroundColor = null;

// pngやjpgの場合、画像を精細なのか荒くなのかを指定できる
$imageQuality = 100;

// 保存
$avatarLayer->save($dirPath, $filename, $createFolders, $backgroundColor, $imageQuality);


以上で画像の合成が完了します。いやぁ簡単ですね。
他にも色々と指定できるのでこのライブラリのホームページをチェックしてみてください。


次にSymfony2へこのライブラリのインストールをするにはcomposer.jsonに記述してコマンドを実行するだけなので簡単です。

・
・
・
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.1.*",
・
・
・ 
       "sybio/image-workshop": "2.0.0"
    },
・
・
・

とこのように"sybio/image-workshop": "2.0.0"をrequireの中に書いた後、

php composer.phar update sybio/image-workshop 

とcomposerを実行すれば良きに計らってくれます。

プログラムから呼び出すときは

use PHPImageWorkshop\ImageWorkshop;

と宣言するだけでおk。


簡単な画像を合成するだけで良いというのならこのライブラリで十分じゃないかなとノシ