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. Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1) (个人题解)

    1434A. Finding Sasuke // Author : RioTian // Time : 20/10/25 #include <bits/stdc++.h> using na ...

  2. 七、手动制作docker镜像

    系列导航 一.docker入门(概念) 二.docker的安装和镜像管理 三.docker容器的常用命令 四.容器的网络访问 五.容器端口转发 六.docker数据卷 七.手动制作docker镜像 八 ...

  3. vue结合element-ui实现多层复选框checkbox

    1.需求如上图所以: html相关代码如下: 1 <div class="intent-course-wrapper"> 2 <div class="c ...

  4. P5719 水题

    https://www.luogu.com.cn/problem/P5719 唠唠:别看这题很水,且只要求保留小数点后一位,倘若用float而不是double的话就无法AC,洛谷评测则只有40分.所以 ...

  5. C#排序算法6:快速排序

    快速排序由C. A. R. Hoare在1960年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分 ...

  6. 无向图求割点 UVA 315

    ***割点概念:去掉一个点后图不连通,该点就为割点 割点满足的条件: 一个顶点u是割点,当且仅当满足(1)或(2) (1) u为树根,且u有多于一个子树. (2) u不为树根,且满足存在(u,v)为树 ...

  7. Deployment 和 StatefulSets 概述

    这篇概述是看文章提到的一段话 xxx is not targeted to be horizontally scalable 引发的,遂整理记录在这里. 起因是有两个应用,一个是无状态的,可以 hor ...

  8. 结合SK和ChatGLM3B+whisper+Avalonia实现语音切换城市

    结合SK和ChatGLM3B+whisper+Avalonia实现语音切换城市 先创建一个Avalonia的MVVM项目模板,项目名称GisApp 项目创建完成以后添加以下nuget依赖 <Pa ...

  9. Vue之将前端的筛选结果导出为csv文件

    有导入就有导出哈!这里继导入之后记录一下导出的实现过程. 1.按钮部分: <el-button class="filter-item" style="margin- ...

  10. Prime Time-02

    Timing Constrain clk3和clk4 - 异步 clk2和clk1 - 同步 有四个clk,所以要设置四个clk的周期 latency - Net delay,走线的延时 uncert ...