最近一波波刷爆朋友圈的各种结婚证,采矿证,搞笑对话,提车清单等等是怎么做的呢?对于外行来说,可能会感觉很神奇,那么今天我就长话短说给大家介绍下这种图片是怎么自动生成的,感兴趣的可以搜索下相关资料详细了解。首先,需要会一门后端开发语言例如PHP等,然后利用一张姓名部分空白的底图作为模板,在姓名空白处利用PHP的GD库,把用户通过表单提交过来的数据PS到图片上,再把处理后的图片返回给浏览器展示。
例如这张图片,姓名部分是用户表单提交的数据,合格证编号是当前的时间戳,签发日期是当前的格式化时间,底图模板这三个部分是空白的,方便系统把相关信息画上去。
开发类似功能的关键在于合理利用例如GD图形处理库,在WEB开发领域GD库的应用是非常广泛的,生成缩略图,图片加水印,各种图形验证码都有GD的功劳,搞笑图片的生成主要用到GD库的imagefttext函数(在图片指定位置画上文字)和imagejpeg函数(创建jpeg格式的图片)。
需要的条件:
一,一个支持PHP语言的计算机环境,例如SAE
二,支持并开启PHP图形处理库如GD,SAE默认开启
三,一张原始图片,方便系统画图
四,一种合适的字体,看起来不突兀
五,有个基础的WEB开发知识
三个案例源码:
链接: http://pan.baidu.com/s/1pJXDnkB 密码: qhvj
GD库函数举例:
<?php /* GD库的函数举例 * 2016.03.07 *实际应用请看案例 */ $font_file = 'msyhbd.ttf'; //字体文件 $text = $_REQUEST['text']; //收集用户发送过来的文本信息 $img_file = 'fjz.jpg'; //引用图片模板 $imgpic = imagecreatefromjpeg($img_file); //创建画布 //颜色 $text_color = imagecolorallocate($imgpic, 200, 200, 204); //数字是颜色代码 //添加文字 imagefttext("画布", "文字大小", "方位", "X轴", "Y轴", "颜色", "字体文件", "文本信息"); //告诉浏览器用jpeg图片形式显示 header('Content-Type: image/jpeg'); header('Cache-control: no-chace'); //利用函数 imagejpeg() 输出jpeg格式图片 imagejpeg($this->img); // 释放图片资源 imagedestroy($this->img); ?>
这种图片生成器的原理和开发都是非常简单的,关键在于创意。
新浪云SAE开通地址:https://www.sinacloud.com/public/login/inviter/gaimrn-mddmzeKWrhKWnaoGem699eIGvfoy6dg.html (首次注册可获得200免费云豆奖励,首次充值可获得600云豆奖励)