« ボーリングで歯がボロボロ? | メイン | オンラインビデオ編集サイトJumpcut(ジャンプカット) »

December 14, 2006

画像の色を抽出して背景色を変えるフォトログ

PHPで画像に使われている色を簡単に抽出する方法

この記事を参考に、画像の色を抽出して背景色を変えるフォトログを作ってみました。

作成したフォトログ

とっても動作が重いのは、画像データをFlickrAPIを使って都度引っ張ってきているためです。

画像の色の抽出はGetMostCommonColors(colors.inc.php)というクラスを使っていて、使用方法はこんな感じ。

$ex=new GetMostCommonColors();
$ex->image='hoge.jpg';
$colors=$ex->Get_Color();
$colors_key=array_keys($colors);

戻り値として、HTML色をKeyとしてその色の使われた回数を格納した配列が帰ってきます。
配列は、使われている回数でソートされていて、array_keys関数でKeyを取得すれば、$colors_key[0]で一番使われている色がわかりますし、$colors[$colors_key[0]]で使用回数もわかります。While文なんかでループさせれば、使われている色と回数がすべてわかります。

作ったフォトログはこんな感じでBodyタグのStyleを動的に出力しています。

<body style="background: #<?php echo $colors_key[0]; ?>;">
使い方は簡単なので試してみてください。

Author nitoka : December 14, 2006 02:50 PM

TrackBack

TrackBack URL:
http://www.nitoka.net/blog/mt-tb.cgi/256

Comment

Please, comment




save