专栏首页Grace developmentPHP GD库解析一张简单图片并输出

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

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

首先要安装下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 "<div style='border:1px solid #ccc;width: {$size[1]}px;height: {$size[0]}px;'>";

    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 '<div style="width:1px;height:1px;background: #cccccc;float:left;"></div>';
                } else {
                    echo '<div style="width:1px;height:1px;background: red;float:left;"></div>';
                }
            }
        }
    }

    echo "</div>";

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

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

最后修改:5个月前 2018-04-27

© 著作权归作者所有

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL SQL模式特点汇总

    MySQL服务器可以在不同的SQL模式下运行,并且可以针对不同的客户端以不同的方式应用这些模式,具体取决于sql_mode系统变量的值。DBA可以设置全局SQL...

    CrazyCodes
  • 来!狂撸一款PHP现代化框架 (准备工作)

    从本章开始,我们继续造轮子,去完成一款类似于Laravel的现代化PHP框架,为什么说是现代化?因为他必须具备一下几点 – 遵守PSR-4编码规范 – 使用...

    CrazyCodes
  • 使用GrumPHP来纠正代码“毛病”

    嗨,我是CrazyCodes,小时候做错事,长辈有没有训斥过你呢?今天让我们看看PHP的监护者,愤怒的老头- – grumphp

    CrazyCodes
  • SpringBoot入门建站全系列(八)集成模板引擎(thymeleaf)渲染页面

    本文不讲前后端分离,先讲下模板引擎,Springboot支持很多模板引擎,thymeleaf算是比较好用的一种。

    品茗IT
  • 大数据文摘陪你过七夕|美国分会场完美收官 巴黎北京上海继续约

    大数据文摘
  • Swift讲解专题十三——下标访问 原

            在以前的博客中,讨论过在Objective-C中,通过下标的方式访问自定义数据模型的方法。Objective-C中主要是通过实现一系列方法来使自...

    珲少
  • Elasticsearch:运用 shard_size 来提高 term aggregation 的精度

    请求的大小(size)越大,结果将越准确,但计算最终结果的成本也将越高(这两者都是由于在分片级别上管理的优先级队列更大,并且节点和客户端之间的数据传输也更大)。

    腾讯云ES团队
  • 大数据导论之为何需要引入大数据

      最近各种客户咨询项目中,往往涉及大数据引入必要性和价值意义的深层次挖掘,用后有数据,有平台,但是不知到底要不要上大数据,为何要上大数据和大数据可以带来哪些价...

    数据饕餮
  • Linux 下修改网卡MAC地址

    #修改HWADDR所在行为MACADDR="XX:XX:XX:XX:XX:XX",其中XX.XX.XX...为你要修改的MAC地址,如下

    授客
  • 自从用上了达观数据,一条电商用户再也不愁搜不到想要的商品了

    5年前,陈凯歌指导过一部电影——《搜索》。在拍摄这部以网络搜索为主题的电影过程中,男女主角的饰演者赵又廷和高圆圆暗生情愫,在戏外终结连理。“搜索”真有这么大的魅...

    达观数据

扫码关注云+社区

领取腾讯云代金券