laravel生成二维码,并添加背景图片,图标logo
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的更多相关文章
- C#Qrcode生成二维码支持中文,带图片,带文字
C#Qrcode生成二维码支持中文带图片的操作请看二楼的帖子,当然开始需要下载一下C#Qrcode的源码 下载地址 : http://www.codeproject.com/Articles/2057 ...
- C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 616人阅读 评论(1) 收藏
1.下载Qrcode库源码,下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library 2.打开源码时,部分类库 ...
- Qrcode生成二维码支持中文,带图片,带文字
1.下载Qrcode库源码, 下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library2.打开源码时, 部分类 ...
- 转: jquery.qrcode.js生成二维码插件&转成图片格式
原文地址: https://blog.csdn.net/u011127019/article/details/51226104 1.qrcode其实是通过使用jQuery实现图形渲染,画图,支持can ...
- PHP生成二维码【谷歌API+qrcode+圆角Logo】
方法一:谷歌二维码API 接口地址:https://chart.googleapis.com/chart 官方文档:https://developers.google.com/chart/infogr ...
- 使用PHP生成二维码的两种方法(带logo图像)
一.利用Google API生成二维码 Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- Laravel 生成二维码的方法
(本实例laravel 版本 >=5.6, PHP版本 >=7.0) 1.首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里: "re ...
- Laravel 生成二维码
(本实例laravel 版本 >=5.6, PHP版本 >=7.0) 1.首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里: "re ...
- Jquery生成二维码(微信中长按图片识别二维码功能)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js生成二维码并保存成图片下载
我这里使用是jQuery,和jquery.qrcode.js,需要的可以自己找链接下载.示例代码仅做参考 html代码: <a id="downloadLink">&l ...
随机推荐
- 版本升级 | v1.0.13发布,传下去:更好用了
新发行版来啦~ 本次更新主要聚焦兼容性的提升及结果报告格式的增加,另外对部分解析逻辑及使用体验进行了优化.在这里特别鸣谢大佬@Hugo-X在社区仓库提交的PR~ 后续,OpenSCA项目组会继续致力于 ...
- C++数据结构(树)
树是一种递归定义的数据结构,如果树中节点的各子树从左到右是有次序的,不能互换,则称该树为有序树,否则叫无序树. 关于树的节点: 节点拥有的子树的个数叫做节点的度 如果度为0,那么该节点叫做叶节点或终端 ...
- Nacos源码 (7) Nacos与Spring
SpringCloud工程可以使用Nacos作为注册中心和配置中心,配置和使用非常简单,本文将简单介绍使用方式,并分析其实现方式. SpringCloud工程集成Nacos SpringCloud工程 ...
- Java21 + SpringBoot3集成Spring Data JPA
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- FIFO设计
first in first out,先进先出 fifo是基于RAM进行设计的 双端口RAM设计(16*8) 如果大的RAM可以调用IP RAM的关键参数:深度和宽度 module dual_ram ...
- Shell-流程控制-if-then-elif
- [转帖]在Mysql中,什么是回表,什么是覆盖索引,索引下推?
https://zhuanlan.zhihu.com/p/401198674 一.什么是回表查询? 通俗的讲就是,如果索引的列在 select 所需获得的列中(因为在 mysql 中索引是根据索引列的 ...
- [转帖]Oracle安装 - shmmax和shmall设置
https://www.cnblogs.com/ddzj01/p/16108010.html 一.概述 在Linux上安装oracle,需要对内核参数进行调整,其中有shmmax和shmall这两个参 ...
- [转帖]Region Merge Config
TiKV replicates a segment of data in Regions via the Raft state machine. As data writes increase, a ...
- [转帖]TiFlash 源码阅读(一) TiFlash 存储层概览
https://cloud.tencent.com/developer/article/1988629 背景 本系列会聚焦在 TiFlash 自身,读者需要有一些对 TiDB 基本的知识.可以通过这三 ...