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

MAUI 本身不内置二维码生成能力,但可以通过第三方库轻松实现,最常用的是 QRCoder(兼容 .NET Standard / .NET 6+),配合 MAUI 的 Image 控件显示。
在你的 MAUI 项目(通常是 Shared 项目或平台项目)中安装 NuGet 包:
QRCoder
Install-Package QRCoder
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)上均可运行,但要注意:
bee餐饮点餐外卖小程序是针对餐饮行业推出的一套完整的餐饮解决方案,实现了用户在线点餐下单、外卖、叫号排队、支付、配送等功能,完美的使餐饮行业更高效便捷!功能演示:1、桌号管理登录后台,左侧菜单 “桌号管理”,添加并管理你的桌号信息,添加以后在列表你将可以看到 ID 和 密钥,这两个数据用来生成桌子的二维码2、生成桌子二维码例如上面的ID为 308,密钥为 d3PiIY,那么现在去左侧菜单微信设置
3
System.Drawing.Bitmap,务必使用 PngByteQRCode 而非 BitmapByteQRCode
为复用方便,可封装一个静态方法:
public static ImageSource GenerateQr(string content, int pixelsPerModule = 8)
{
var data = new QRCodeGenerator().CreateQrCode(content, QRCodeGenerator.ECCLevel.M);
var bytes = new PngByteQRCode(data).GetQRCodeByteArray(pixelsPerModule);
return ImageSource.FromStream(() => new MemoryStream(bytes));
}
然后在页面中直接调用:QrImage.Source = Utils.GenerateQr("Hello MAUI");
基本上就这些。不复杂但容易忽略平台兼容性细节,用对渲染器就能稳定跑起来。
以上就是MAUI怎么实现二维码生成 MAUI生成QR Code方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号