是否有任何代码可以扫描图像并查找是否为黑色?

时间:2013-06-16 17:36:10

标签: php

是否有任何代码或脚本会扫描jpeg或gif图像并查找该图像中是否有颜色或是黑色?

在我的网站中,许多用户上传了大量文件,我们可以从一些jar和第n个文件中提取图标,但有些会显示为黑色。 所以我想在下载页面提供文件图标时用文件格式图标替换黑色图标。

1 个答案:

答案 0 :(得分:0)

imagecolorat

  

返回由image指定的图像中指定位置的像素颜色的索引。

     

如果PHP是针对GD库2.0或更高版本编译的,并且图像是真彩色图像,则此函数将该像素的RGB值作为整数返回。使用位移和屏蔽来访问不同的红色,绿色和蓝色分量值:

  • image

      

    图像资源,由图像创建函数之一返回,例如imagecreatetruecolor()。

  • X

      

    点的x坐标。

  • ý

      

    点的y坐标。

示例

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;

var_dump($r, $g, $b);
?>

此外,还有其他脚本执行此操作,例如this one