phpで画像のRGBを取得するサンプルプログラム

phpコード:
$average = new Imagick(“startnews24_log.jpg");
$average->quantizeImage( 10, Imagick::COLORSPACE_RGB, 0, false, false );
$average->uniqueImageColors();
function GetImagesColor( Imagick $im ){
$colorarr = array();
$it = $im->getPixelIterator();
$it->resetIterator();
while( $row = $it->getNextIteratorRow() ){
foreach ( $row as $pixel ){
$colorarr[] = $pixel->getColor();

}

}

return $colorarr;

}
$colorarr = GetImagesColor($average);
foreach($colorarr as $val){
echo “<div style=’background-color: rgb({$val['r’]},{$val['g’]},{$val['b’]});width:50px;height:50px;float:left;’></div>";
}

説明:
1.Imagick
Imagick は、ImageMagick API を使用して画像の作成や修正を行う ネイティブ PHP 拡張モジュールです。 さまざまな (100 をこえる) 形式の画像の読み書きや変換に対応しており、 DPX や EXR、GIF、JPEG、JPEG-2000、PDF、PhotoCD、PNG、Postscript、SVG そして TIFF といった形式を扱うことができます。

2.quantizeimage
public void Gmagick::quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError )
参照画像内の色を解析し、その画像を表すための色を固定の色数で選びます。

PHP

Posted by arkgame