前言
无论是自己要在精心P过的自拍上添加个性文字,或者是摄影爱好者要在拍摄的作品里添加水印,亦或是在网页或者移动应用中实时生成文字和图片的组合,我们都需要找到一个合适且靠谱的方法来将图片和文字完美的结合在一起。
所以,“最好的编程语言”PHP及其GD库就给我们提供了这样一套简单且高效的解决方案。
我知道,这时候有个实例才是最好的~ 下面就让我来举个简单的栗子!
目标
将用户在网页应用中输入的个人信息与图片结合,生成一张印有用户信息的名片。
效果
1 预设一张图片,作为名片背景
名片背景
2 用户信息输入
信息输入
3 名片生成(点击Continue之后)
名片生成
步骤
在一切开始之前,请使用phpinfo() command
来确认GD库已安装。
首先,我们要做的事情很简单,新建一个PHP文件,就叫它main.php吧。
在main.php中,理论上我们需要以下几行代码(本代码基于CakePHP 3):
<?php//创建一个表单提供用户输入功能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]);/** 上面的代码相当于:* <img src="image.php?first=名&last=姓&location=城市" />*///表单提交echo $this->Form->button('CONTINUE', ['type' => 'submit']); //关闭表单$this->Form->end();
接下来,就是创建Where amazing happens的image.php了。包括图片设置,获取用户信息,将文字信息添加到图片上,所有的一切都将在这一步完成。
新闻热点
疑难解答