首页 >后端开发 >php教程 >PHP GD库解析一张简单图片并输出

PHP GD库解析一张简单图片并输出

不言
不言原创
2018-05-07 11:39:581579浏览

这篇文章主要介绍了关于PHP GD库解析一张简单图片并输出,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

这里只演示一下2种颜色值的图片,简单描述下概念。

clipboard.png

首先要安装下GD库。否则下面的代码运行不了。

$size = getimagesize('2.png');  // 获取图片大小 
$res = imagecreatefrompng('2.png'); // 获取指定图片的资源对象

for ($i = 0; $i < $size[1]; ++$i) {
    for ($j = 0; $j < $size[0]; ++$j) {
        $rgb = imagecolorat($res, $i, $j); // 获取坐标索引

        $rgbarray = imagecolorsforindex($res, $rgb); // 获取每个坐标的rgb颜色


        $sum = $rgbarray['red'] + $rgbarray['green'] + $rgbarray['blue']; // rgb颜色数值相加,主要为了区分

        /**
         * 演示图片有纯黑色 rgb(0,0,0) 颜色和其他颜色组成
         */
        if ($sum == 0) {
            $data[$i][$j] = 1;
        } else {
            $data[$i][$j] = 2;
        }

}

上述代码已经生成了整张图片每个像素的颜色块。

echo "<p style=&#39;border:1px solid #ccc;width: {$size[1]}px;height: {$size[0]}px;&#39;>";
    
    for ($i = 0; $i < count ($data); $i++) {
        if (array_sum ($data[$i]) != 200) {
            for ($j = 0; $j < count ($data[$i]); $j++) {
                if ($data[$i][$j] == 1) {
                    echo &#39;<p style="width:1px;height:1px;background: #cccccc;float:left;"></p>&#39;;
                } else {
                    echo &#39;<p style="width:1px;height:1px;background: red;float:left;"></p>&#39;;
                }
            }
        }
    }
    
    echo "</p>";

通过上述代码就可以生成一个与指定图片一样的通过像素块堆积出来的图片。

similar_text 函数可以判断2个值的相似度。我再考虑是否可以使用a图片的二进制码和b图片的比对。判断相似度呢。
仅仅是个概念,还再继续研究,这样就可以实现文字识别的功能了。

相关推荐:

Nginx和php安装及配置五之LINUX用PHPIZE安装PHP GD扩展

PHP GD库添加freetype拓展的方法

以上是PHP GD库解析一张简单图片并输出的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn