Maison  >  Article  >  développement back-end  >  La bibliothèque PHP GD analyse une image simple et la génère

La bibliothèque PHP GD analyse une image simple et la génère

不言
不言original
2018-05-07 11:39:581509parcourir

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

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

La bibliothèque PHP GD analyse une image simple et la génère

首先要安装下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[&#39;red&#39;] + $rgbarray[&#39;green&#39;] + $rgbarray[&#39;blue&#39;]; // 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拓展的方法

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn