MAUI怎么实现二维码生成 MAUI生成QR Code方法

admin 百科 30
MAUI 本身不内置二维码生成能力,需借助第三方库 QRCoder 实现;通过生成 PNG 字节数组并转为 MemoryStream,再赋值给 Image.Source 即可跨平台显示,注意避免使用依赖 System.Drawing 的渲染器。

MAUI怎么实现二维码生成 MAUI生成QR Code方法-第1张图片-佛山资讯网

MAUI 本身不内置二维码生成能力,但可以通过第三方库轻松实现,最常用的是 QRCoder(兼容 .NET Standard / .NET 6+),配合 MAUI 的 Image 控件显示。

安装 QRCoder 库

在你的 MAUI 项目(通常是 Shared 项目或平台项目)中安装 NuGet 包:

  • 包名:QRCoder
  • 命令(Package Manager Console):Install-Package QRCoder
  • 或通过 Visual Studio 的 NuGet 包管理器搜索安装

生成 QR Code 并转为 MAUI 可用图像

QRCoder 默认输出为 Bitmap(仅支持 Windows)或 byte[](PNG 数据),而 MAUI 的 Image 控件需要 StreamImageSource 或 Base64 字符串。推荐方式是生成 PNG 字节数组,再转为 MemoryStream

  • 创建 QRCodeGenerator 实例,调用 CreateQrCode() 得到 QRCodeData
  • PngByteQRCode 渲染为 byte[]
  • 将字节数组包装成 MemoryStream,赋给 Image.Source

示例代码(C# 后台):

var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://maui.dev", QRCodeGenerator.ECCLevel.Q);
var qrCode = new PngByteQRCode(qrData);
byte[] qrBytes = qrCode.GetQRCodeByteArray(10); // 10px 每模块,可调
<p>// 绑定到 Image 控件(XAML 中 x:Name="QrImage")
QrImage.Source = ImageSource.FromStream(() => new MemoryStream(qrBytes));

登录后复制

跨平台注意事项

QRCoder 在所有 MAUI 支持平台(Android、iOS、Windows、macOS)上均可运行,但要注意:

标签: android go windows 字节 mac ios macos win stream c# cos .net l

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~