色カラー
色彩を中心とした通信サイト

サイト制作で役立つImageMagickの使い方

KNACK OF DESIGN

ImageMagick

ImageMagickはサーバー上で処理できる画像処理ソフトウェアです。Photoshopのアクション機能に似たことがネット上でできるものだと思ってください。かなり豊富な画像加工ができます。いろんなプログラム言語から利用できますがここではPHPでロリポップもしくはヘテムルのレンタルサーバーで使った場合という体裁で書きます。

スポンサーリンク


ImageMagickの書き方

ImageMagick はコマンドラインから利用する方法と、他のプログラムから呼び出して使う方法があります。とりあえずサンプルソースを使ってみて動くものを使っていくうちに覚えていけます。

画像形式をjpgからpng変換するだけでも記述の仕方に種類があります。

コマンドライン 他のプログラム
$ convert xxxxx.jpg xxxxx.png $im = new Imagick();
$im->readImage("xxxxx.jpg");
$im->setImageFormat("png");
$im->writeImage("xxxxx.png");
$im->destroy();

理解しやすいのはコマンドラインです。記述が少なくいのでどんな動作をさせているのか一目で分かります。
またレンタルサーバーによって入っているバージョンが違っていて、
ロリポップは ImageMagick 6.4.3
ヘテムルは ImageMagick 6.0.7
となっています(2013年12月末現在)。レンタルサーバーの場合、自分でインストールすることはできず、レンタルサーバー会社側で入れてくれているものを使うしかないようです。ImageMagickに関してはヘテムルよりロリポップの方がバージョンが上なのでできることがちょっと多いです。

最初につまずきやすいこと

ネット上でサンプルソースがいろいろ紹介されていますが、
$ convert xxxxx.jpg xxxxx.png ってという書かれ方が多いです。これをそのままコピペしても動作してくれません。ロリポップサーバーのヘルプを見るとパスは/usr/bin/convertとあります。ImageMagickが入っている所までパス誘導しないとなのですが知識が無いとお手上げ状態です。試行錯誤して最終的にたどり着いたのが、

exec("/usr/bin/convert xxxxx.jpg xxxxx.png");

この記述で動きます。exec() は指定されたコマンド command を実行する関数。だからコマンドラインっていうんですね。

ImageMagickの動作サンプルコード

画像のフォーマット変換:png形式からjpg形式へ変換
exec("/usr/bin/convert a.png a.jpg");

サイズ変更して上書き保存
exec("/usr/bin/convert -thumbnail 100x100 a.png a.png");

明度彩度を調整して上書き保存
exec("/usr/bin/convert a.png -modulate 150,50 a.png");

透過調整:グレースケール画像alpha.pngを作りアルファ合成
exec("/usr/bin/convert a.png alpha.png -compose CopyOpacity -composite a.png");

 

フォルダを指定するとき

頭に\とエスケープを入れると階層の違うフォルダからの画像を指定できます。
exec("/usr/bin/convert \folder_a/a.png \folder_b/a.png");


スポンサーリンク
あなたのカラーイメージを診断します

色の効果を知ろう

白のイメージ黒のイメージ灰のイメージ青のイメージ赤のイメージ緑のイメージ黄のイメージ橙のイメージ桃のイメージ紫のイメージ茶のイメージ金のイメージ銀のイメージ

iro-color

色の好き嫌い調査の結果2014
色のアンケート2


色のアンケート3

役立つ色の資格の資料請求
色に詳しくなるBOOK
このサイトに広告を載せませんか

色占い

金平糖時計