在日常的事情中(比如微信小程序),我们常常有这样的需求,便是须要利用程序天生推广海报,然后海报里要包含指定的二维码,这样用户分享出去别人扫码之后就可以确定用户推举关系。
单独天生海报背景或者单独天生二维码常日还算比较大略,但如果要将两者结合到一起那还是须要花一点心思的。
那现在怎么办理呢?如何利用PHP在做事器天生推广海报呢?对的,利用PHP中的GD库。详细过程请往下看。
前期准备
1、海报背景图。背景图一样平常存做事器,程序本地读取;
2、推广二维码。可以是二维码图片链接,也可以是字符串图像流。如果自己天生二维码,详见phpqrcode官网,地址:https://sourceforge.net/projects/phpqrcode。
3、开启PHP的GD扩展
操作步骤首先熟习一下几个关键的PHP函数:
1、getimagesize:取得图像大小。getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。如果不能访问 filename 指定的图像或者其不是有效的图像,getimagesize() 将返回 FALSE 并产生一条 E_WARNING级的缺点。
2、image_type_to_extension:取得图像类型的文件后缀。
3、imagesx:取得图像宽度。
4、imagesy:取得图像高度。
5、imagecreatetruecolor:新建一个真彩色图像。imagecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的玄色图像。是否定义了本函数取决于 PHP 和 GD 的版本。从 PHP 4.0.6 到 4.1.x 只要加载了 GD 模块本函数一贯存在,但是在没有安装 GD2 的时候调用,PHP 将发出致命缺点并退出。在 PHP 4.2.x 中此行为改为发出警告而不是缺点。其它版本只在安装了精确的 GD 版本时定义了本函数。
6、imagecolordeallocate:取消图像颜色的分配。
7、imagefill:区域添补。imagefill() 在 image 图像的坐标 x,y(图像左上角为 0, 0)处用 color 颜色实行区域添补(即与 x, y 点颜色相同且相邻的点都会被添补)。
8、imagecopyresampled:重采样拷贝部分图像并调度大小。imagecopyresampled() 将一幅图像中的一块正方形区域拷贝到另一个图像中,平滑地插入像素值,因此,尤其是,减小了图像的大小而仍旧保持了极大的清晰度。
9、getimagesizefromstring:从字符串中获取图像尺寸信息。同 getimagesize() 函数。 差异是 getimagesizefromstring() 第一个参数是图像数据的字符串表达,而不是文件名。
10、imagecopymerge:拷贝并合并图像的一部分。
11、imagejpeg:输出图象到浏览器或文件。
12、imagedestroy:销毁一图像。
熟习完了这十几个核心方法后,我们就可以编码了。核心代码如下:
以上代码是利用PHP天生推广海报的紧张部分,有了它我们就可以很随意马虎的天生推广海报了。
参考案例:
1、天生带有二维码的海报。
2、天生带有图像,昵称和二维码的海报。
从以上示例可以看出,只要我们定义好核心代码之后,后面天生不同的推广海报,只须要调度config配置参数即可。