Thinkphp3.2.3整合phpqrcode生成带logo的二维码


Posted in PHP onJuly 21, 2016

Thinkphp中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能。

下载phpqrcode

下载地址:http://phpqrcode.sourceforge.net/

整合到Thinkphp框架

在“ThinkPHP\Library\Vendor\”下新建目录phpqrcode,将压缩包内容解压到该文件夹下。

调用phpqrcode生成二维码

在IndexController控制器下添加如下方法:

public function qrcode($url="www.baidu.com",$level=3,$size=4)
  {
       Vendor('phpqrcode.phpqrcode');
       $errorCorrectionLevel =intval($level) ;//容错级别 
       $matrixPointSize = intval($size);//生成图片大小 
       //生成二维码图片 
       $object = new \QRcode();
       $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);  
  }

访问:http://127.0.0.1/Index/qrcode即可看到生成的二维码。

生成带logo的二维码

先调用phpqrcode生成一张二维码,再使用php的image相关函数将logo图片添加到生成的二维码图片上。

include 'phpqrcode.php';  
$value = 'http://www.cnblogs.com/txw1958/'; //二维码内容  
$errorCorrectionLevel = 'L';//容错级别  
$matrixPointSize = 6;//生成图片大小  
//生成二维码图片  
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);  
$logo = 'logo.png';//准备好的logo图片  
$QR = 'qrcode.png';//已经生成的原始二维码图  

if ($logo !== FALSE) {  
  $QR = imagecreatefromstring(file_get_contents($QR));  
  $logo = imagecreatefromstring(file_get_contents($logo));  
  $QR_width = imagesx($QR);//二维码图片宽度  
  $QR_height = imagesy($QR);//二维码图片高度  
  $logo_width = imagesx($logo);//logo图片宽度  
  $logo_height = imagesy($logo);//logo图片高度  
  $logo_qr_width = $QR_width / 5;  
  $scale = $logo_width/$logo_qr_width;  
  $logo_qr_height = $logo_height/$scale;  
  $from_width = ($QR_width - $logo_qr_width) / 2;  
  //重新组合图片并调整大小  
  imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,  
  $logo_qr_height, $logo_width, $logo_height);  
}  
//输出图片  
imagepng($QR, 'helloweixin.png');  
echo '<img src="helloweixin.png">';

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
使用XDebug调试及单元测试覆盖率分析
Jan 27 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
PHP获取音频文件的相关信息
Jun 22 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
php文件上传后端处理小技巧
May 22 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
微信随机生成红包金额算法php版
Jul 21 #PHP
PHP简单读取PDF页数的实现方法
Jul 21 #PHP
基于PHP微信红包的算法探讨
Jul 21 #PHP
php中preg_replace_callback函数简单用法示例
Jul 21 #PHP
PHP获取客户端及服务器端IP的封装类
Jul 21 #PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 #PHP
PHP获取当前文件的父目录方法汇总
Jul 21 #PHP
You might like
在PHP中使用灵巧的体系结构
2006/10/09 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
php实现简单爬虫的开发
2016/03/28 PHP
Yii实现简单分页的方法
2016/04/29 PHP
PHP获取指定日期是星期几的实现方法
2016/11/30 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
Javascript基础知识(一)核心基础语法与事件模型
2014/09/29 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
跟老齐学Python之永远强大的函数
2014/09/14 Python
Python运算符重载用法实例
2015/05/28 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
python实现多张图片拼接成大图
2019/01/15 Python
Python读取指定日期邮件的实例
2019/02/01 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
django使用admin站点上传图片的实例
2019/07/28 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
Python用Jira库来操作Jira
2020/12/28 Python
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
经济管理毕业生求职信
2014/03/15 职场文书
大学共青团员个人自我评价
2014/04/16 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
Golang数据类型和相互转换
2022/04/12 Golang
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python