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 条评论
登录 后参与评论

相关文章

来自专栏yang0range

Android硬件加速原理和简介

原理:使用PNG图片(BitmaoDrable)解码PNG图片生成Bitmap,传到底层,有GPU渲染图片解码,消耗CPU运算资源,Bitmap占内存大,绘制慢...

3275
来自专栏林德熙的博客

matlab 画图

本文讲如何使用 matlab 画图。 本文包括:折线图的 x轴和y轴、标题、图例 柱状图填充图案

2282
来自专栏iOS开发攻城狮的集散地

水波进度、加载动画、文字进度

3013
来自专栏企鹅号快讯

浅谈 Web 图像优化

前端优化有很多,图像优化也是其中的一部分。无论是渐进增强还是优雅降级,图像优化成为了开发上不可忽视的一部分。 知其然,须知其所以然 图像优化的前提是需要了解图像...

2179
来自专栏开源项目

Git 项目推荐 | 图片验证码生成库

一个简单的Go语言实现的验证码。 图片实例 ? ? ? ? 简介 基于Golang实现的图片验证码生成库,可以实现随机字母个数,随机直线,随机噪点等。可以设置...

4556
来自专栏cnblogs

bootstrap深入理解之格子布局

一、源码文件: _grid.scss:格子系统类文件 Mixins/_grid.scss:支持格子系统实现的mixin集合 Mixins/_grid-fra...

25210
来自专栏V站

python实现生成验证码的逻辑

2198
来自专栏一“技”之长

Bootstrap响应式前端框架笔记十六——模态框交互

    模态框也可以称为弹出窗,其作用是当用户点击某个功能按钮后,在网页上弹出一个内容窗口。在Bootstrap中,创建模态框十分简单。首先模态框组件通过mod...

1251
来自专栏Java与Android技术栈

图像中二维码的检测和定位

所谓开操作是指先腐蚀后膨胀的操作。在之前的文章二值图像分析:案例实战(文本分离+硬币计数)曾经介绍过开操作的用途。

2793
来自专栏腾讯NEXT学位

药药切克闹!用酷炫的vue~制作酷炫的menu~

4145

扫码关注云+社区

领取腾讯云代金券