PHP读取单一图片的rgb值
我们知道用PHP去设置一块画布的颜色很容易,它提供了image系列的函数可以做这个事情,但是有一个图片文件,假设他上面的颜色是单一的,如何读取它的rgb值呢?
尝试如下,但是并不是很准,跟QQ截图的读取值差1
<?php
$i = imagecreatefromjpeg("1.jpg");
$rTotal = 0;
$gTotal = 0;
$bTotal = 0;
$total = 0;
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);
echo "r:" . $rAverage . " g:" . $gAverage . " b:" . $bAverage;
?>
阅读更多
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了