IRONSOFTWAREHOME

.NET MAUI 二维码扫描器

Curtis Chau
Curtis Chau
Updated: 2026年3月3日

简介

.NET MAUI(.NET 多平台应用 UI)是一个跨平台框架,用于基于单一 C# 代码库构建原生移动和桌面应用程序。 一个项目可以同时面向 Android、iOS、macOS 和 Windows 平台,并在所有平台上共享 UI 布局和业务逻辑。 MAUI 与 .NET 生态系统的深度集成,意味着开发人员无需放弃熟悉的工具或语言,即可触达移动端用户。

在本文中,我们将讲解如何在 .NET MAUI 应用程序中使用 IronQR 构建原生二维码扫描器,以解码从设备照片库中选定的二维码。

IronQR:C# QR码库

要在应用程序中读取二维码,我们将使用 IronQR .NET 库。 它提供了一个直观的 API,用于从任何图像源(包括移动设备上选定的文件)中检测和解码二维码。IronQR 可在所有 MAUI 目标平台上运行,集成时无需具备 BarCode 领域的专业知识。

IronQR 能够解码标准 QR 码、Micro QR 码和 rMQR 码,并支持以文件、流或位图形式输入图像。 可通过 NuGet 包管理器在几秒钟内完成安装。

在 .NET MAUI 中构建二维码扫描器的步骤

请按照以下步骤在 .NET MAUI 应用程序中添加二维码扫描功能。

前提条件

  1. 安装了 .NET MAUI 工作负载的 Visual Studio 2022
  2. 面向 Android 或 iOS 的 .NET MAUI 项目

安装 IronQR

请通过 Visual Studio 中的 NuGet 包管理器控制台安装 IronQR 库。 导航到Tools > NuGet Package Manager > Package Manager Console然后运行:

PM > Install-Package IronQR

或者,可以在NuGet上搜索IronQR并安装最新版本。

前端设计

扫描器界面包含一个用于触发图像选择的按钮、一个用于预览所选二维码的图像视图,以及一个用于显示解码结果的标签。

MainPage.xaml的内容替换为以下内容:

<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiQrScanner.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Button
                x:Name="scanButton"
                Text="Select QR Code Image"
                SemanticProperties.Hint="Select Image"
                Clicked="OnScanButtonClicked"
                HorizontalOptions="Center" />

            <Image
                x:Name="qrImage"
                SemanticProperties.Description="Selected QR Code"
                HeightRequest="200"
                HorizontalOptions="Center" />

            <Label
                x:Name="resultLabel"
                Text="Scanned Text: "
                HorizontalOptions="Center"
                VerticalOptions="Center" />

        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

示例输入

请使用下方的二维码作为测试图片。 将其保存到设备中,然后通过应用的文件选择器进行选择。 解码后的值应显示为https://ironsoftware.com

编码 https://ironsoftware.com 的示例二维码,用于测试 .NET MAUI 二维码扫描器

示例二维码 — 编码地址:https://ironsoftware.com

使用 IronQR 扫描二维码

当点击扫描按钮时,FilePicker打开设备的图片库。 用户选择照片后,完整路径被加载到QrReader.Read()。 从第一个检测到的二维码中解码出的值将显示在结果标签中。

将以下方法添加到MainPage.xaml.cs

using IronQr;
using IronSoftware.Drawing;

private async void OnScanButtonClicked(object sender, EventArgs e)
{
    // Start scanning QR codes
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
        PickerTitle = "Pick image",
        FileTypes = FilePickerFileType.Images
    });
    var imageSource = images.FullPath.ToString();

    var inputBmp = AnyBitmap.FromFile(imageSource);

    // Load the asset into QrImageInput
    QrImageInput imageInput = new QrImageInput(inputBmp);

    // Create a QR Reader object
    QrReader reader = new QrReader();

    // Read the input and get all embedded QR Codes
    IEnumerable<QrResult> results = reader.Read(imageInput);

    // Display the first result
    resultLabel.Text = "Scanned Text: " + results.First().Value;
}

FilePicker.Default.PickAsync由MAUI平台抽象层提供,可在Android、iOS和Windows上运行,无需任何针对平台的代码。 IEnumerable<QrResult>,其中每个找到的二维码都有一个条目。

输出

选择二维码图片即可触发扫描。 解码后的值显示在图片预览下方的结果标签中。

使用 IronQR 的 .NET MAUI 二维码扫描器 — 应用选择二维码图像并显示解码值

结果标签中显示已选中并解码的二维码值

下载项目

点击此处下载完整的 MauiQrScanner 项目。

结论

在本文中,我们演示了如何使用 IronQR 在 .NET MAUI 应用程序中构建原生二维码扫描器。 FilePicker API在Android、iOS和Windows平台上提供原生的图片选择功能,而IronQR的QrReader.Read则在单次调用中处理解码。 相同的方法可以扩展到每个图像中的多个二维码,通过遍历完整的结果集合而不是调用.First()

IronQR 要求在开发和商业使用时获得许可。 许可详情请参见此处

若需深入了解如何读取 QR 码属性(不仅限于数值),请参阅《读取 QR 码数值》和《读取 QR 码类型》指南。

常见问题解答

.NET MAUI QR代码扫描器教程的内容是什么?

.NET MAUI QR代码扫描器教程提供了如何使用IronQR构建QR代码扫描器的指导,并针对Android、iOS和Windows平台上的.NET MAUI应用程序提供说明。

.NET MAUI QR代码扫描器支持哪些平台?

.NET MAUI QR代码扫描器支持Android、iOS和Windows平台,允许开发人员使用IronQR创建跨平台应用程序。

我如何在.NET MAUI应用程序中选择图像进行QR代码扫描?

您可以在.NET MAUI应用程序中使用FilePicker组件选择图像,然后通过IronQR的QrReader.Read()方法处理这些图像以解码QR代码。

教程中用于解码QR代码的函数是什么?

在教程中,使用IronQR的QrReader.Read()函数从.NET MAUI应用程序中的选定图像解码QR代码。

我可以在跨平台应用程序中使用IronQR进行QR代码扫描吗?

是的,IronQR旨在用于跨平台应用程序,您可以使用.NET MAUI框架为Android、iOS和Windows创建QR代码扫描器。

.NET MAUI是否有特定的QR代码阅读器功能?

是的,教程展示了如何在.NET MAUI应用程序中使用IronQR的QrReader.Read()功能来读取和解码QR代码。

IronQR是否支持在移动设备上扫描QR代码?

IronQR支持在移动设备上扫描QR代码,包括Android和iOS,如.NET MAUI QR代码扫描器教程中所示。

FilePicker在QR代码扫描过程中的作用是什么?

FilePicker用于从设备存储中选择图像,然后传递给IronQR的QrReader.Read()进行QR代码解码的,在.NET MAUI应用程序中。

是否可以使用.NET MAUI将QR代码扫描器集成到Windows应用程序中?

是的,.NET MAUI QR代码扫描器教程展示了如何使用IronQR将QR代码扫描器集成到Windows应用程序中。

What are the capabilities of the QRReader.Read method in IronQR?

The QrReader.Read method in IronQR can decode QR codes from various image sources like files, streams, or bitmaps and provides the results as an IEnumerable.

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 74,386版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索“IronQR”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并解压IronQR到您的解决方案目录中的~/Libs等位置
  2. 在Visual Studio解决方案资源管理器中,右键单击引用。选择浏览,“IronQR.dll”

许可证从$999开始

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户