1、安装组件

composer require simplesoftwareio/simple-qrcode 1.3.*

在 config/app.php 注册服务提供者:

SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class

同样在 config/app.php 添加 QrCode 门面:

'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class

2、用法

//生成二维码,并添加logo
public function generateQrCode($id, $dir)
{
$host = request()->getSchemeAndHttpHost();
$content = $host.'/red-envelop?id='.$id;
//字符串是否有https
if (strpos($host, 'http') === false) {
$content = 'https://'.$content;
}
$fileName = $dir.$id.'.png';
//1. errorCorrection 容错级别设置
// L 7% 的字节码恢复率.
// M 15% 的字节码恢复率.
// Q 25% 的字节码恢复率.
// H 30% 的字节码恢复率.
// 2.margin 边距设置
// 3.merge 二维码中添加图片,方法只支持 PNG,参数(图像路径或 URL,图像宽度和高度)
// 4.backgroundColor(255, 0, 0) 设置二维码背景色
// 5.color(255,0,255) 颜色
// 6.size 字体设置
// 7.generate 设置二维码参数:
// $QrCodeText 二维码内容
// $imagePath 二维码文件 QrCode::format('png')->errorCorrection('Q')->margin(0.5)->merge($dir.'/logo/logo.png', 0.3, true)->size(400)->generate($content, $fileName);
return $fileName;
} //背景合成
public function qrcodeMerge($fileName, $text)
{
// 图片合成
$bg = imagecreatefrompng($this->dir.'/logo/bg.png');// 提前准备好的海报图 必须是PNG格式
$qrcodes = imagecreatefrompng($fileName); //二维码
imagecopyresampled($bg, $qrcodes, 350, 350, 0, 0, imagesx($qrcodes), imagesx($qrcodes), imagesx($qrcodes), imagesx($qrcodes));
// 设置文字样式
$font = 'C:\Windows\Fonts\simsun.ttc'; // 替换为你的字体文件路径
$fontSize = 18; // 字体大小
$color = imagecolorallocate($bg, 251, 218, 165); // 文字颜色,这里设置为白色
// 在背景图片上添加文字
imagettftext($bg, $fontSize, 0, 710, 1060, $color, $font, $text);
imagepng($bg, $fileName); //生成图片
imagedestroy($bg);
imagedestroy($qrcodes);
$this->info('合成成功:'. $fileName);
return $fileName;
}

转换base64

我们有时候需要图片直接转为base64传给前端,需转为png格式

$img = \SimpleSoftwareIO\QrCode\Facades\QrCode::format('png')->size(150)->generate($id);
$img = 'data:image/png;base64,' . base64_encode($img);

原文链接:https://blog.csdn.net/MrEahon/article/details/123895256

laravel生成二维码,并添加背景图片,图标logo的更多相关文章

  1. C#Qrcode生成二维码支持中文,带图片,带文字

    C#Qrcode生成二维码支持中文带图片的操作请看二楼的帖子,当然开始需要下载一下C#Qrcode的源码 下载地址 : http://www.codeproject.com/Articles/2057 ...

  2. C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 616人阅读 评论(1) 收藏

    1.下载Qrcode库源码,下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library 2.打开源码时,部分类库 ...

  3. Qrcode生成二维码支持中文,带图片,带文字

    1.下载Qrcode库源码, 下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library2.打开源码时, 部分类 ...

  4. 转: jquery.qrcode.js生成二维码插件&转成图片格式

    原文地址: https://blog.csdn.net/u011127019/article/details/51226104 1.qrcode其实是通过使用jQuery实现图形渲染,画图,支持can ...

  5. PHP生成二维码【谷歌API+qrcode+圆角Logo】

    方法一:谷歌二维码API 接口地址:https://chart.googleapis.com/chart 官方文档:https://developers.google.com/chart/infogr ...

  6. 使用PHP生成二维码的两种方法(带logo图像)

    一.利用Google API生成二维码 Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  7. Laravel 生成二维码的方法

    (本实例laravel 版本 >=5.6, PHP版本 >=7.0) 1.首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里: "re ...

  8. Laravel 生成二维码

    (本实例laravel 版本 >=5.6, PHP版本 >=7.0) 1.首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里: "re ...

  9. Jquery生成二维码(微信中长按图片识别二维码功能)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. js生成二维码并保存成图片下载

    我这里使用是jQuery,和jquery.qrcode.js,需要的可以自己找链接下载.示例代码仅做参考 html代码: <a id="downloadLink">&l ...

随机推荐

  1. 更省更快,如何使用 Serverless 搭建个人专属网盘?

    作者| 西流 阿里云 Serverless 技术专家 1分钟 Serverless 部署个人网盘,赠好礼 随着全球大数据不断增长,未来数据云存储容量需求也将不断扩大,iiMedia Research( ...

  2. postman+springboot一次上传多个文件

    开发中到前端一次上传多个文件的需求如何实现,下面使用postman模拟前端的请求,后端使用srpingboot来实现 1.postman设置 2.Java代码 @RestController @Req ...

  3. 区分开发环境和生产环境webpack

  4. vue 使用print.js实现前端打印功能

    https://blog.csdn.net/cccdf_jjj/article/details/99563682 插件vue-print-nb实现前端打印当前页面功能 https://blog.csd ...

  5. VS2019 16.8下载安装

    昨天,想升级到 net5版本,发现在vs2019上始终发现不了它,考虑好几个小时,终于狠下心,把vs2019卸载了,重新装一次.耗费了一个晚上,先将安装过程写下来,以供参考 第一步, 到 微软官网 h ...

  6. Mycat 实现分库分表及读写分离

    本文为博主原创,未经允许不得转载: Mycat 官网: http://mycat.org.cn/ MyCat 权威指南 文档:http://www.mycat.org.cn/document/myca ...

  7. [转帖]RabbitMQ学习笔记:内置Prometheus支持rabbit_prometheus插件

    从3.8.0开始,RabbitMQ提供内置的Prometheus和Grafana支持. rabbitmq_prometheus插件中提供了对Prometheus指标收集的支持.该插件以Promethe ...

  8. [转帖]SSL数字证书分类DV/OV/EV

    SSL证书的分类主要是通过下面两个维度进行分类: 1.根据验证模式分类 根据CA机构对申请者的身份审核范围分为:DV证书.OV证书.EV证书. 1.1.DV证书(域名证书) DV(Domain Val ...

  9. [转帖]Prometheus监控系统存储容量优化攻略,让你的数据安心保存!

    云原生监控领域不可撼动,Prometheus 是不是就没缺点?显然不是. 一个软件如果什么问题都想解决,就会导致什么问题都解决不好.所以Prometheus 也存在不足,广受诟病的问题就是 单机存储不 ...

  10. [转帖]SPEC2006移入docker后的运行问题

    https://www.cnblogs.com/csxyc/p/7157890.html 实验需要给SPEC2006的benchmark绑定CPUID,于是想到用docker分配CPU资源,写一个简单 ...