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

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
还木有评论哦,快来抢沙发吧~