php 提取图片主要颜色

PHP实现获取图片颜色值的方法

PHP获取图片颜色值检测图片主要颜色是通过imagecreatefromjpeg函数读取图片,再循环获得各个颜色值加以计算实现的。

/**
 * 获取图片主要颜色
 * @param $image
 * @return array
 */
function dominant_color($image)
{
    $rTotal = $gTotal = $bTotal = $total = 0;
    $i      = imagecreatefromjpeg($image);
    for ($x = 0; $x < imagesx($i); $x++) {
        for ($y = 0; $y < imagesy($i); $y++) {
            $rgb    = imagecolorat($i, $x, $y);
            $r      = ($rgb >> 16) & 0xFF;
            $g      = ($rgb >> 8) & 0xFF;
            $b      = $rgb & 0xFF;
            $rTotal += $r;
            $gTotal += $g;
            $bTotal += $b;
            $total++;
        }
    }
    $rAverage = round($rTotal / $total);
    $gAverage = round($gTotal / $total);
    $bAverage = round($bTotal / $total);
    return array(
        'r' => $rAverage,
        'g' => $gAverage,
        'b' => $bAverage,
    );
}

出处:www.l1mn.com

原文标题:php 提取图片主要颜色

原文地址:https://www.l1mn.com/p/j77nr1.html

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

分类:php图片
标签:php图片
评论

皖ICP备2023023451号

Copyright © L1MN.COM 联系方式:l1mnfw@163.com