public function downQrCode($productId){header("Content-type:image/png");$label = "扫描二维码领取礼品";$qrPath = runtime_path('qrcode');// 存在清空文件不存在创建目录if (is_dir($qrPath)){array_map('unlink', glob($qrPath .'*'));} else {mkdir($qrPath,0777,true);}require "vendor/dh2y/think-qrcode/src/phpqrcode/phpqrcode.php";$qrCode = new \QRcode();$row = Voucher::find($productId);$res = $row['details'];$result = [];foreach ($res as $code) {$domain = $_SERVER['REQUEST_SCHEME'] . '://' .$_SERVER['SERVER_NAME'];$data = $domain.'/daijinquan?param=mini&code='.$code."_".$productId;          $level = 'L';$size = 7;$QR = $qrPath . time() . ".png";$qrCode->png($data, $QR, $level, $size, 2);$result[] = $this->fugai($QR,$code);}//生成zip文件下载$path = app()->getRootPath() . 'upfile/zip/';if (!is_dir($path))mkdir($path);array_map('unlink', glob($path .'*'));$downName = $row['name'] . date("YmdHis") . '.zip';$zipName = $path . 'qrcode'.time().'.zip';$zip = new \ZipArchive();if ($zip->open($zipName, \ZIPARCHIVE::OVERWRITE | \ZIPARCHIVE::CREATE)!==TRUE) {exit('无法打开文件,或者文件创建失败');}foreach($result as $val){//解压zip直接是文件$zip->addFile($val, basename($val));}$zip->close();//关闭if(!file_exists($zipName)){exit("无法找到文件"); //即使创建,仍有可能失败}//如果不要下载,下面这段删掉即可,如需返回压缩包下载链接,只需 return $downName;header("Cache-Control: public");header("Content-Description: File Transfer");header('Content-disposition: attachment; filename='.basename($downName)); //文件名header("Content-Type: application/zip"); //zip格式的header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件header('Content-Length: '. filesize($zipName)); //告诉浏览器,文件大小@readfile($zipName);return $downName;}public function fugai($QR,$code){$code_path = runtime_path('qrcode').$code.time().'.png';$dst_path = root_path('public')."share.png";//背景图片路径$src_path = $QR;//覆盖图//创建图片的实例$dst = imagecreatefromstring(file_get_contents($dst_path));$src = imagecreatefromstring(file_get_contents($src_path));//获取覆盖图图片的宽高list($src_w, $src_h) = getimagesize($src_path);//将覆盖图复制到目标图片上,最后个参数100是设置透明度(100是不透明),这里实现不透明效果imagecopymerge($dst, $src, 230, 640, 0, 0, $src_w, $src_h, 100);    //位置可以自己调试imagepng($dst,$code_path);//根据需要生成相应的图片imagedestroy($dst);imagedestroy($src);$image = imagecreatefrompng($code_path);$font = root_path('public').'MSYH.TTF'; // 字体文件$color = imagecolorallocate($image,0,0,0); // 文字颜色imagettftext($image, 40, 0, 250, 600, $color, $font, $code); // 创建文字
//        imagettftext($image, 10, 0, 250, 600, $color, $font, $code); // 创建文字imagepng($image,$code_path);return $code_path;}

phpqrcode 生成二维码并将生成的二维码放在某个图片上并添加文字相关推荐

  1. thinkphp用phpqrcode生成二维码(含中间带logo、临时二维码)或生成微信二维码海报的方法

    前期准备: 1.phpqrcode类文件下载,下载地址:https://sourceforge.net/projects/phpqrcode/ 2.PHP环境必须开启支持GD2扩展库支持(一般情况下都 ...

  2. (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

    场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...

  3. js 生成二维码_QRcode.js 生成二维码

    github官方文档指路:https://github.com/soldair/node-qrcode#options QRcode方法介绍: 这里只介绍后三种常用方法的使用: 1.toCanvas ...

  4. Py之qrcode:调用python的qrcode库两种方式生成二维码、带logo的二维码

    Py之qrcode:调用python的qrcode库两种方式生成二维码.带logo的二维码 目录 python编程实现生成二维码 1.第一种方式-纯文本 2.第二种方式-带logo

  5. PHP二维码在线制作生成系统源码 无需数据库 带logo图标

    简介: PHP二维码在线制作生成系统源码 无需数据库 带logo图标 网盘下载地址: http://kekewl.net/Myae89V9DX00 图片:

  6. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...

    二维码相关---java生成二维码名片,并且自动保存到手机通讯录中... 技术qq交流群:JavaDream:251572072 1.首先介绍一个api.   Zxing是Google提供的关于条码 ...

  7. 微信公众号二维码海报自动生成,海报通推广有绝招

    公众号二维码海报自动生成,使用公众号开发接口生成带参数的二维码和获取用户基本信息(UnionID机制)实现海报通的效果,在自己的服务器上部署就可以,也可以直接使用微号帮平台生成海报二维码. 1.生成海 ...

  8. 二维码插件qrcode生成二维码信息

    文章目录 二维码插件qrcode: JS逻辑实现: html展示与下载调用部分: 图片信息展示如下: 二维码插件qrcode: JS逻辑实现: <!-- 二维码插件,qrcode.min.js下 ...

  9. 二维码介绍及二维码的Python生成

    新时代,人们有新的追求,自然而然会有新发明的诞生.去年,在"一带一路"国际合作高峰论坛举行期间, 20 国青年投票选出中国的"新四大发明":高铁.扫码支付.共享 ...

最新文章

  1. python高频面试题_2019下半年金九银十Python高频面试题(第四弹)
  2. C++ 异常处理Demo - win32 版
  3. boost::dynamic_bitset模块实现ambiguous set的测试程序
  4. 52. N-Queens II
  5. EventBus设计与实现分析——事件的发布
  6. 全国计算机等级考试题库二级C操作题100套(第04套)
  7. 菜鸟小编对云计算的一点猜想
  8. Redis为什么变慢了?一文详解Redis性能问题 | 万字长文
  9. MySQL数据库安装和介绍
  10. PageRank三个博客mark
  11. 【渝粤教育】国家开放大学2018年春季 0133-21T大学物理 参考试题
  12. 函数 strncpy、strncat、strncmp、strrchr 的实现
  13. Flash助手推荐广告删除方法
  14. android脚本精灵miui,脚本精灵安卓apk下载
  15. 微信客户管理SCRM系统SDK
  16. C++:这天星期几?
  17. android关闭手机偷录她人功能实现(退出程序依然录像)
  18. 微信小程序 java校园二手物品交易系统uniapp
  19. 小程序开发.云数据库
  20. HTML文件不小心删了怎么办,如何找回电脑被删除的文件

热门文章

  1. Waves区块链—基于Nuetrino协议的DeFo如何与传统金融实现互联互通?
  2. python超市买苹果
  3. 教你如何把女朋友训练得服服帖帖
  4. 详解 CSS position定位的五种方式
  5. Ubuntu下挂载win7的磁盘分区
  6. error: conflicting types for xxx in c
  7. 【离散数学】输入图的邻接矩阵,判定是否为强连通图
  8. SSRF最全总结(协议,绕过)
  9. 魔力耳朵和瓜瓜龙英语怎么样,两者英语课有什么相似点和区别?
  10. SpringBoot基础系列-使用日志