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 ...
随机推荐
- 更省更快,如何使用 Serverless 搭建个人专属网盘?
作者| 西流 阿里云 Serverless 技术专家 1分钟 Serverless 部署个人网盘,赠好礼 随着全球大数据不断增长,未来数据云存储容量需求也将不断扩大,iiMedia Research( ...
- postman+springboot一次上传多个文件
开发中到前端一次上传多个文件的需求如何实现,下面使用postman模拟前端的请求,后端使用srpingboot来实现 1.postman设置 2.Java代码 @RestController @Req ...
- 区分开发环境和生产环境webpack
- vue 使用print.js实现前端打印功能
https://blog.csdn.net/cccdf_jjj/article/details/99563682 插件vue-print-nb实现前端打印当前页面功能 https://blog.csd ...
- VS2019 16.8下载安装
昨天,想升级到 net5版本,发现在vs2019上始终发现不了它,考虑好几个小时,终于狠下心,把vs2019卸载了,重新装一次.耗费了一个晚上,先将安装过程写下来,以供参考 第一步, 到 微软官网 h ...
- Mycat 实现分库分表及读写分离
本文为博主原创,未经允许不得转载: Mycat 官网: http://mycat.org.cn/ MyCat 权威指南 文档:http://www.mycat.org.cn/document/myca ...
- [转帖]RabbitMQ学习笔记:内置Prometheus支持rabbit_prometheus插件
从3.8.0开始,RabbitMQ提供内置的Prometheus和Grafana支持. rabbitmq_prometheus插件中提供了对Prometheus指标收集的支持.该插件以Promethe ...
- [转帖]SSL数字证书分类DV/OV/EV
SSL证书的分类主要是通过下面两个维度进行分类: 1.根据验证模式分类 根据CA机构对申请者的身份审核范围分为:DV证书.OV证书.EV证书. 1.1.DV证书(域名证书) DV(Domain Val ...
- [转帖]Prometheus监控系统存储容量优化攻略,让你的数据安心保存!
云原生监控领域不可撼动,Prometheus 是不是就没缺点?显然不是. 一个软件如果什么问题都想解决,就会导致什么问题都解决不好.所以Prometheus 也存在不足,广受诟病的问题就是 单机存储不 ...
- [转帖]SPEC2006移入docker后的运行问题
https://www.cnblogs.com/csxyc/p/7157890.html 实验需要给SPEC2006的benchmark绑定CPUID,于是想到用docker分配CPU资源,写一个简单 ...