php识别名片,用户信息名片怎么利用PHP实现自动生成
用户信息名片怎么利用PHP实现自动生成
发布时间:2020-12-10 14:29:56
来源:亿速云
阅读:70
作者:Leah
本篇文章为大家展示了用户信息名片怎么利用PHP实现自动生成,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
步骤
在一切开始之前,请使用phpinfo() command来确认GD库已安装。
首先,我们要做的事情很简单,新建一个PHP文件,就叫它main.php吧。
在main.php中,理论上我们需要以下几行代码(本代码基于CakePHP 3):
//创建一个表单提供用户输入功能
echo $this->Form->create();
//只保留value属性,其他属性已省略
echo $this->Form->input(
'First Name',['value' => $firstname, '...' => '...', ...]);
echo $this->Form->input(
'Last Name',['value' => $lastname, '...' => '...', ...]);
echo $this->Form->input(
'City',['value' => $city, '...' => '...', ...]);
echo $this->Form->input(
'State',['value' => $state, '...' => '...', ...]);
/*
* 将img标签指向一个叫做image.php的PHP文件。
* 所有的用户输入信息将以URL的形式保存在img标签的src属性中,
* 在表格提交后即可被image.php通过GET获取。
* 所有变量已通过PHP自带strtoupper函数转换为大写。
*/
echo $this->Html->image("image.php?first=".strtoupper($firstname)."&last=".strtoupper($lastname).
"&location=".strtoupper($city)." ".strtoupper($state), ['fullBase' => true]);
/*
* 上面的代码相当于:
*
*/
//表单提交
echo $this->Form->button('CONTINUE', ['type' => 'submit']);
//关闭表单
$this->Form->end();
接下来,就是创建Where amazing happens的image.php了。包括图片设置,获取用户信息,将文字信息添加到图片上,所有的一切都将在这一步完成。
让我们通过代码来一探究竟吧。
// header() 函数向客户端发送原始的 HTTP 报头。
header('Content-type: image/jpeg');
// 由文件或 URL 创建一个新图象,这里的text.jpg就是效果1显示的预设图片
$rImg = ImageCreateFromJPEG("test.jpg");
// 为一幅图像分配颜色
$cor = imagecolorallocate($rImg, 0, 0, 0);
// 我们可以自定义与图片结合的文字字体
$font = "./arial.ttf";
// 设置最终生成图片的宽度以及文字相对于图片所在的高度
$imgWidthSetting = 676;
$textHeightOffset = 220;
// 解码main.php里img标签已编码的URL字符串,包括first, last以及location
$first = urldecode($_GET['first']);
$last = urldecode($_GET['last']);
$location = urldecode($_GET['location']);
/*
* 取得需要向图片上添加的文本的范围。imagettfbbox() 返回一个含有8个
* 单元的数组表示了文本外框的四个角。
*/
$width_first = imagettfbbox(60, 0, $font, $first);
$width_last = imagettfbbox(70, 0, $font, $last);
$width_location = imagettfbbox(35, 0, $font, $location);
// 进一法取整, $width_变量[2]代表右下角X坐标位置
$x_first = ceil($imgWidthSetting - $width_first[2]);
$x_last = ceil($imgWidthSetting - $width_last[2]);
$x_location = ceil($imgWidthSetting - $width_location[2]);
// 利用imagettftext()函数将文本“写入”图像
imagettftext($rImg, 60, 0, $x_first, $textHeightOffset+120, $cor, $font, $first);
imagettftext($rImg, 70, 0, $x_last, $textHeightOffset+210, $cor, $font, $last);
imagettftext($rImg, 35, 0, $x_location, $textHeightOffset+290, $cor, $font, $location);
// 输出图象到浏览器或文件,quality 为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)
imagejpeg($rImg,NULL,100);
// Free up memory, imagedestroy() 释放与 image 关联的内存。
imagedestroy($rImg);
到这里,我们就完成了通过PHP把文字添加到图片上的所有步骤。当用户输入个人信息并提交表单后,通过image.php,效果3的名片就会自动生成。
总结
利用PHP将文字与图片结合虽然简单,但可以衍生出很多不同的应用方法。譬如,我们可以将名片背景及生成的名片隐藏起来,只对用户显示信息输入界面。同时,我们在代码中接入打印机的API。这样,当用户输入完自己的信息点击继续之后,显示着用户信息的名片就会直接打印出来。这很适用于用户参加线下聚会活动check in时的场景。
上述内容就是用户信息名片怎么利用PHP实现自动生成,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
php识别名片,用户信息名片怎么利用PHP实现自动生成相关推荐
- 实体类dao接口mysql_利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件...
解决问题: 可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件. 测试环境准备: 新建一个mysql数据库,例如mungerzTest. 生成一张主键为自增ID的学生表: C ...
- python的api库_python 利用toapi库自动生成api
在学习做接口测试自动化的时候,我们往往会自己动手写一些简单的API,比如写一个简单的TODO API之类. 不过自己写API的时候经常需要造一些假数据,以及处理分页逻辑,开始的时候还觉得比较有意思,但 ...
- 利用strut2标签自动生成form前端验证代码
利用strut2标签自动生成form前端验证代码,使用到的技术有 1.struts2标签,如<s:form> <s:textfieled> 2.struts2读取*Valida ...
- python 文案自动生成_Python应用 | 利用COM技术自动生成IBM i2舞弊关系分析图表
点蓝字关注 ↑↑↑ 数据化审计:问题导向.应用至上.解决痛点 内容摘要 什么是COM技术 IBM I2 Analyst's Notebook软件介绍 如何使用Python调用I2的COM接口,批量自 ...
- 利用RNN神经网络自动生成唐诗宋词
RNN(Recurrent Neural Networks)在处理长序列有很强的优势,加上近来前向反馈算法的成功,导致RNN在长文本上得到了很好的应用. 简单来说RNN神经网络能够记 ...
- 利用Word Embedding自动生成语义相近句子
向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 自然语言生成也是NLP中重要的一个方面,将来的计算机一定能够吟诗作对.写书画画,具有创造性,能 ...
- idea 集成mybatis,利用MyBatis Generator自动生成实体类、mapper文件
最近一个老项目集成mybatis,利用 generator自动生成实体类.mapper的时候折腾了一小时,记录一下,避免以后再折腾 很简单的三步 https://gitee.com/shunangua ...
- 利用SQL语句自动生成序号的两种方式
1.首先,我们来介绍第一种方式: ◆查询的SQL语句如下: select row_number() over (order by name) as rowid, sysobjects.[name] f ...
- 利用matlab程序自动生成feko近场云图及matlab程序实现自动化feko运行
Feko是一款非常实用的电磁仿真软件,目前许多研究的验证及数据的制作都需要借助Feko来实现.但是对于刚入门的同学来说,feko的数据获取比较麻烦,需要在每一次运行结束后手动调节参数再执行下一个运行程 ...
最新文章
- 转载 - 使用HTML5、CSS3和jQuery增强网站用户体验
- JavaScript之js的一些基础方法
- 大数据之Linux常用命令
- Procedure execution failed 2013 - Lost connection to MySQL server during query
- 深度学习保姆级入门教程 -- 论文+代码+常用工具
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
- java闭包和lambda关系_Lambda表达式和闭包Closure
- linux下安装微信,qq,企业微信,百度网盘,Foxmail等软件方法
- @程序员,除了女朋友你还要带什么回去?
- NYOJ463 - 九九乘法表
- 顺序查找(Linear Search)
- 如何对自动驾驶技术进行全面检验?
- Mac无法连接wifi和手机热点 解决方法
- php redis访问量,redis实现点击量浏览量
- 论文阅读:Gradient Harmonized Single-stage Detector
- 新闻发布系统——主页面分页
- Mac下如何输入全角空格
- Nero 7 Premium Reloaded 7.8.5.0
- 涉外诉讼公证认证北京代办流程时间
- C语言:用and、or、not表示逻辑运算符