php Imagick获取图片RGB颜色值

2015-01-24信息快讯网

根据用户上传的图片检索出图片的主要颜色值,再根据颜色搜索相关的图片,使用Imagick的quantizeImage方法能够很方便的取到图片中平均的RGB值

很多图片站点都会根据用户上传的图片检索出图片的主要颜色值,然后在通过颜色搜索相关的图片。

之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处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.jb51.net
$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中magic_quotes_gpc对unserialize的影响分析
php中get_meta_tags()、CURL与user-agent用法分析
PHP使用pcntl_fork实现多进程下载图片的方法
php图片的二进制转换实现方法
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
php实现按指定大小等比缩放生成上传图片缩略图的方法
php实现高效获取图片尺寸的方法
Yii使用ajax验证显示错误messagebox的解决方法
Yii核心组件AssetManager原理分析
Sublime里直接运行PHP配置方法
PHP中SimpleXML函数用法分析
php中ltrim()、rtrim()与trim()删除字符空格实例
PHP图像处理之imagecreate、imagedestroy函数介绍
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
将CMYK颜色值和RGB颜色相互转换的PHP代码
PHP exif扩展方法开启详解
PHP实现多图片上传类实例
PHP判断文章里是否有图片的简单方法
codeigniter上传图片不能正确识别图片类型问题解决方法
PHP结合JQueryJcrop实现图片裁切实例详解
Yii使用CLinkPager分页实例详解
PHP实现图片压缩的两则实例
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
PHP类中的魔术方法(Magic Method)简明总结
PHP关于htmlspecialchars、strip_tags、addslashes的解释
windows7下安装php的imagick和imagemagick扩展教程
Thinkphp中import的几个用法详细介绍
ThinkPHP之import方法实例详解
ThinkPHP CURD方法之limit方法详解
浅谈php扩展imagick
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
php使用imagick模块实现图片缩放、裁剪、压缩示例
©2014-2024 dbsqp.com