本文实例讲述了PHP编程获取图片的主色调的方法。分享给大家供大家参考,具体如下:
代码中用到了php的图片扩展,所以使用之前,需要先安装PHP的Imagick扩展,具体安装如下(window下): windows7下安装php的imagick和imagemagick扩展教程
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
$average = new Imagick( "./fruit/143511081321676_593.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 ){
$r += $val [ 'r' ];
$g += $val [ 'g' ];
$b += $val [ 'b' ];
echo "<div style='background-color: rgb({$val['r']},{$val['g']},{$val['b']});width:50px;height:50px;float:left;'></div>" ;
}
$r = round ( $r /10);
$g = round ( $g /10);
$b = round ( $b /10);
echo "<br><div style='background-color: rgb({$r},{$g},{$b});width:100px;height:100px;float:left;'></div>" ;
?>
|
希望本文所述对大家PHP程序设计有所帮助。