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模块实现图片缩放、裁剪、压缩示例