成千上万图纸站点都见面依据用户上传的图样检索出图的基本点颜色值。您可能感兴趣之篇章。

php获取图片RGB颜色值的例子

PHP将CMYK颜色值和RGB颜色相互转换的例证

不少图片站点都见面因用户上传的图纸检索出图的要害颜色值,然后在通过颜色搜索相关的图形。

function hex2rgb($hex) {
$color = str_replace('#','',$hex);
$rgb = array('r' => hexdec(substr($color,0,2)),
'g' => hexdec(substr($color,2,2)),
'b' => hexdec(substr($color,4,2)));
return $rgb;
} // www.jbxue.com

function rgb2cmyk($var1,$g=0,$b=0) {
if (is_array($var1)) {
$r = $var1['r'];
$g = $var1['g'];
$b = $var1['b'];
} else {
$r=$var1;
}
$cyan = 255 - $r;
$magenta = 255 - $g;
$yellow = 255 - $b;
$black = min($cyan, $magenta, $yellow);
$cyan = @(($cyan - $black) / (255 - $black)) * 255;
$magenta = @(($magenta - $black) / (255 - $black)) * 255;
$yellow = @(($yellow - $black) / (255 - $black)) * 255;
return array('c' => $cyan / 255,
'm' => $magenta / 255,
'y' => $yellow / 255,
'k' => $black / 255);
}

$color=rgb2cmyk(hex2rgb('#FF0000'));

前面以网上的主意将图纸缩放(或者马赛克)然后遍历每个像素点,然后统计处RGB次数最多的价,这做法效率太没有而取得到的RGB值不足够规范。之后才发觉采用Imagick的quantizeImage方法能好便宜的取到图片中平均的RGB值.

你或许感兴趣的文章:

$average = new Imagick("xiaocai.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 ){
// www.jbxue.com
$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>";

} 
  • php扫描图片像从得每像素颜色值并出口
  • php获取图片颜色值有什么样方法?
  • php获取图片颜色值的例证
  • php颜色值转换
    php实现16进制数字和颜色值的转换

君可能感兴趣之稿子:

  • php扫描图片像从得每像素颜色值并出口
  • php获取图片颜色值有什么样措施?
  • php获取图片颜色值的例证
  • php颜色值转换
    php实现16进制数字与颜色值的变

相关文章