【转载|不建议使用】Laravel 生成二维码的方法

不建议使用

原因:不能直接导出png格式。
推荐:https://github.com/endroid/qr-code php composer require endroid/qr-code

转载

环境

必须开启 imagick PHP扩展才能生成 png 图片.

软件/系统 版本 说明
windows 10
php 8.1.9-Win32-vs16-x64
composer 2.5.5
laravel 10.8.0
mysql 8.0.28
simplesoftwareio/simple-qrcode ^4.2

介绍

Simple Qrcode 是 Bacon/BaconQrCode 针对 Laravel 框架的封装版本,用于在 Laravel 中为生成二维码提供接口。

使用场景 前缀 例子
网址 http:// http://www.simplesoftware.io
加密网址 https:// https://www.simplesoftware.io
E-mail 地址 mailto: support@simplesoftware.io
电话号码 tel: tel:555-555-5555
文字短信 sms: sms:555-555-5555
文字短信内容 sms: sms::I am a pretyped message
文字短信同时附带手机号和短信内容 sms: sms:555-555-5555:I am a pretyped message
坐标 geo: geo:-78.400364,-85.916993
MeCard名片 mecard: MECARD:Simple, Software;Some Address, Somewhere, 20430;TEL:555-555-5555;EMAIL:support@simplesoftware.io;
VCard名片 BEGIN:VCARD 更多范例
Wifi wifi: wifi:WEP/WPA;SSID;PSK;Hidden(True/False)

步骤

  1. 安装
php composer require simplesoftwareio/simple-qrcode
  1. 使用

所有的方法都支持链式调用. generate 方法必须在最后

use SimpleSoftwareIO\QrCode\Facades\QrCode;

/**
* 助手模板
*/
# E-mail
QrCode::email($to, $subject, $body);
# 位置
QrCode::geo($latitude, $longitude);
# 手机号
QrCode::phoneNumber($phoneNumber);
# 短信
QrCode::SMS($phoneNumber, $message);
# WiFi (WIFI扫描目前苹果产品不支持.)
QrCode::wiFi([
    'encryption' => 'WPA/WEP',
    'ssid' => '网络的SSID',
    'password' => '网络的密码',
    'hidden' => '是否是一个隐藏SSID的网络'
]);

/**
* 简单使用
*/
# 生成
echo QrCode::generate('Make me into a QrCode!');
# 指定尺寸
echo QrCode::size(500)->generate('Make me into a QrCode!');
# 指定颜色 必须是RGBA格式
echo QrCode::color(255, 0, 0, 25)->size(500)->generate('Make me into a QrCode!');
# 指定背景颜色
echo QrCode::backgroundColor(255, 0, 0)->color(0, 0, 0, 100)->size(500)->generate('Make me into a QrCode!');

# 渐变 gradient($startRed, $startGreen, $startBlue, $endRed, $endGreen, $endBlue, string $type)
# 定位颜色 eyeColor(int $eyeNumber, int $innerRed, int $innerGreen, int $innerBlue, int $outterRed = 0, int $outterGreen = 0, int $outterBlue = 0)
# 风格 style(string $style, float $size = 0.5)
# 定位眼风格 eyeStyle(string $style)
# 边距 margin(int $margin)
# 容错级别
# 编码
# 合并 (string $filepath, float $percentage = .2, bool $absolute = false)
# 二进制合并 (string $content, float $percentage = .2)
posted @   夏秋初  阅读(1084)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示