这两天在开发一个支付宝授权功能,因为要用到二维码分享扫描功能,每条记录都有专属的二维码,所以需要生成专属二维码并且这个二维码还得有些引导功能,所以需要将生成的二维码放在实现准备好的图片上面。

我们先来创建我们的项目结构,生成二维码我们用的是phpqrcode库进行生成,我们先创建我们的图片存放文件夹img文件夹,并将phpqrcode库放到我们项目中,代码结构如下:

img文件夹是我们用来存放生成的二维码图片,以及存放我们实现准备的底图,comm.php文件是我们的公共方法,待会将二维码放在底图的方法我们会写在这里,getQrcode.php是我们生成二维码的方法文件。

我们先来创建我们的二维码,代码如下:

<?php
header('Access-Control-Allow-Origin:*');
// 响应类型
header('Access-Control-Allow-Methods:POST');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');header('Content-Type:application/json; charset=utf-8');include 'phpqrcode.php';
include 'comm.php';
@$id = $_GET['id']; //链接获取参数
$errorCorrentionLevel = 'L'; //容错级别
$matrixPoinSize = 6; //生成图片大小
#拼接URL
$value = 'url'      //跳转地址
//本地文档相对路径
$url = 'img/';
//定义纠错级别
$errorLevel = "L";
//定义生成图片的宽度和高度,默认为3
$size = 3;
//调用Qrcode类的静态png方法生成二维码团
QRcode::png($value, $url . $id . '.png', $errorCorrentionLevel, $matrixPoinSize, 2);
//新图片
$img = '图片存放具体路径+名字'.png';
//输出图片处理图片
dealImage($img);    //将二维码放在底图某个位置上
//header('location:' . $img);?>

这样就会生成一张二维码的图片。

我们接下来再来封装将二维码放在底图位置上的方法,方法写在comm.php中,代码如下:

<?php
/*** 图片处理公共方法* Created by PhpStorm.* User: p* Date: 2018/10/25* Time: 20:53*/function dealImage($src_path){$dst_path = '底部图片具体路径';    //底部图片
//创建图片的实例$dst = imagecreatefromstring(file_get_contents($dst_path));$src = imagecreatefromstring(file_get_contents($src_path));//获取水印图片的宽高list($src_w, $src_h) = getimagesize($src_path);//将水印图片复制到目标图片上,最后个参数50是设置透明度,这里实现半透明效果imagecopymerge($dst, $src, 190, 350, 0, 0, $src_w, $src_h, 100);
//如果水印图片本身带透明色,则使用imagecopy方法
//imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h);//输出图片list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);switch ($dst_type) {case 1://GIFheader('Content-Type: image/gif');imagegif($dst);break;case 2://JPGheader('Content-Type: image/jpeg');imagejpeg($dst);break;case 3://PNGheader('Content-Type: image/png');imagepng($dst);break;default:break;}imagedestroy($dst);imagedestroy($src);
}

这样我们便最终生成我们的最终二维码,大家可以试试~

更多文章请关注微信公众号

php利用phpqrcode生成二维码,并将二维码盖在一张图上实现美化相关推荐

  1. Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!)

    Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!) 目录 利用学生计算器计算一大堆的平均数和方差教程 利用学生计算器计算一大堆的平均数和方差教程 我们的学生计算器其实有很多功 ...

  2. php利用phpqrcode生成二维码并保存到服务器

    直接上代码 /** *第1个参数$text:二维码包含的内容,可以是链接.文字.json字符串等等: 第2个参数$outfile:默认为false,不生成文件,只将二维码图片返回输出:否则需要给出存放 ...

  3. PHP使用phpqrcode生成带LOGO或文字的二维码

    一.加入文字的代码示例: //如果没有文件夹 则自动创建$nowDay = date('Y-m-d');if(!is_dir($_SERVER['DOCUMENT_ROOT'].$path.$nowD ...

  4. 数据集增广 之 多个图片贴到一张图上,以及生成相应的json文件

    多图合成一图: import os import tqdm import glob import json import math import random import numpy as np f ...

  5. python绘制多个散点图_如何利用python把多个散点图画在一张图上:一个案例

    如果你想做很多个散点图,却又不想使用Excel一个一个地画,一张一张图调整. 那么你可以考虑使用Python. 首先,需要安装并启动anaconda3,过程略. 开始写代码了. 01 基本库的导入,以 ...

  6. 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow)

    图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow) 文章目录 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网 ...

  7. python使用python-barcode生成任意长度字符串的条形码(一维码)详细教程

    使用python-barcode生成一维码 1.安装python包 pip install Pillow pip install python-barcode 2.实例程序 # -*- coding: ...

  8. 1+X云计算运维与开发初级 CIFS(Samba)服务 思维导图

    1+X云计算运维与开发初级 CIFS(Samba)服务 思维导图 上一篇: 1+X云计算运维与开发初级 NFS服务 思维导图 下一篇: 1+X云计算运维与开发初级 构建 LNMP+WordPress ...

  9. ThinkPHP框架整合phpqrcode生成二维码DEMO

    ThinkPHP框架发展到今天功能已经变得是非常强大了,但是ThinkPHP框架中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能.想使用phpqrcode首先就要把p ...

最新文章

  1. servlet知识点
  2. 为什么交叉熵和KL散度在作为损失函数时是近似相等的
  3. linux 符号链接攻击防御简介
  4. 有感于任正非老爷子的发言
  5. 怎么才能钓到产品经理妹子?|PMCAFF
  6. 小鱼儿 c语言,小鱼儿请进.
  7. Qt 信号量 QSemaphore Class 的翻译
  8. HTML5如何学?学HTML5要注意什么?
  9. Android 第二课 Intent
  10. 论文解读二十七:文本行识别模型的再思考
  11. 解析xml文件的几种技术
  12. struts2 在拦截器进行注入(依据Action是否实现自己定义接口)
  13. 编程规范 —— 变量的命名
  14. cordova 打包vue 集成的app , router-view 默认首页白屏
  15. 基于单片机的功放protues_音响放大器proteus仿真
  16. 华为机试od社招刷题攻略-目录
  17. Vuex仿饿了么购物车功能
  18. 【hadoop生态之Hive】Hive的DML数据操纵语言【笔记+代码】
  19. loj 6184 无心行挽 虚树+DP+倍增
  20. 牛客IOI周赛27-普及组

热门文章

  1. HAN - Heterogeneous Graph Attention Network 异构图注意力网络 WWW 2019
  2. 如何在Centos官网下载所需版本的Centos——靠谱的Centos下载教程
  3. 没想到吧?快手竟然给厕所上安装了计时器,或许职场从此再无「带薪拉屎」...
  4. Kaggle ICML2013 fer2013人脸表情识别/面部表情识别:训练、调优、调试与踩坑
  5. VR中多模式异步协作的挑战和设计考虑因素
  6. 如何批量给pdf文件命名?
  7. 高铁的速度 华为的服务
  8. 关于奇异值以及奇异值分解SVD的思考
  9. OpenCV:字符分割——方向投影法
  10. 递归最小二乘(RLS)算法详解