入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

PHP读取单一图片的rgb值

创建时间:2016-02-26 投稿人: 浏览次数:965

我们知道用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。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像