.NET MAUI 条码扫描器
简介
.NET MAUI (.NET多平台应用程序用户界面) 是一个跨平台框架,可帮助在单一代码库中更轻松地创建跨平台应用程序。例如,您可以在一个项目中轻松创建 Microsoft Windows、IOS 和 Android 应用程序。它与其他平台、框架和库的不同之处在于,它允许开发人员在项目中使用本地控件,并为他们提供额外的组件。因此,开发人员可以使用这些预制组件和服务更快地构建应用程序,而无需从头开始编写各方面的代码。
在本文中,我将介绍如何在 .NET MAUI Windows 应用程序中扫描二维码或条形码。
如何在 .NET Maui 中读取和扫描条形码
IronBarcode:C# 条码库
IronBarcode 是一种 .NET 库,可帮助在程序中轻松创建条形码。它提供了一套强大而简单的默认应用程序接口。IronBarcode 库在对象级别上提供了生成和读取 QR 码或其他条形码的功能,因此您可以通过调用它们的方法一次开发一个条形码,而无需担心创建条形码对象的细节和事先了解相关知识。此外,该库无需加载任何外部依赖项即可运行,使用 NuGet 软件包管理器即可轻松下载。
IronBarcode 支持多种 QR 和现代条形码格式,如 Code 39、Code 128、PDF417 等等。您还可以将此 .NET 库用作 QR 码阅读器和生成器。它能将输入数据解码为人类可读的文本。您可以从图像、流、GIF 等中获取输入数据。本文还将介绍如何在 .NET MAUI 应用程序中使用 IronBarcode 库来读取和扫描二维码。
在 .NET MAUI 应用程序中读取和扫描条形码的步骤
请按照以下步骤在 .NET MAUI 应用程序中读取 QR 码。
先决条件
1.Visual Studio 2022
2.在 Visual Studio 中运行的 .NET MAUI 项目
3.通过稳定的互联网安装用于条码扫描的 IronBarcode 库
假设您已具备上述先决条件,则可进入下一步。
安装 IronBarcode 库
我们可以使用 NuGet 软件包控制台安装 IronBarcode 库。在控制台中编写以下命令
Install-Package BarCode
该控制台命令将下载 MAUI 项目中最新版本的 IronBarcode 库。当然,你也可以随时检查并搜索 NuGet 软件包库的最新版本,在NuGet 网站.
前端
第一步,我们必须创建前端设计。
我们将创建一个由两个按钮、一个文本区域和一个图像框组成的布局。一个按钮用于选择条形码,另一个按钮用于复制条形码文本。图像框将显示所选图像。
用以下内容替换 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="MAUI_Barcode.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="ImageSelect"
Text="Select Barcode"
SemanticProperties.Hint="Select Image"
Clicked="SelectBarcode"
HorizontalOptions="Center" />
<Image
x:Name="barcodeImage"
SemanticProperties.Description="Selected Barcode"
HeightRequest="200"
HorizontalOptions="Center" />
<Editor x:Name="outputText"
Placeholder="Output text"
HeightRequest="100"
WidthRequest="500" />
<Button
x:Name="copyText"
Text="Copy"
SemanticProperties.Hint="Copy Text"
WidthRequest="150"
Clicked="CopyEditorText"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
所有元素都是垂直堆叠,位置居中。您可以根据自己的喜好进行更改。
使用 IronBarcode 扫描条形码
本节将介绍使用 IronBarcode 库扫描条形码的代码。首先,我们将使用 FilePicker
来选择文件并指定图像的文件类型。然后,我们将使用 FullPath
属性获取图像文件的路径,并将图像框的来源设置为 FullPath
值。最后,我们将在BarcodeReader
的Read
函数中使用path
值来获取文本。
private async void SelectBarcode(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var imageSource = images.FullPath.ToString();
barcodeImage.Source = imageSource;
var result = BarcodeReader.Read(imageSource).First().Text;
outputText.Text = result;
}
private async void SelectBarcode(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var imageSource = images.FullPath.ToString();
barcodeImage.Source = imageSource;
var result = BarcodeReader.Read(imageSource).First().Text;
outputText.Text = result;
}
Private Async Sub SelectBarcode(ByVal sender As Object, ByVal e As EventArgs)
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim imageSource = images.FullPath.ToString()
barcodeImage.Source = imageSource
Dim result = BarcodeReader.Read(imageSource).First().Text
outputText.Text = result
End Sub
下图所示代码将用于复制文本编辑器的文本,并向用户显示文本已复制的提示信息。
private async void CopyEditorText (object sender, EventArgs e)
{
await Clipboard.SetTextAsync(outputText.Text);
await DisplayAlert("Success", "Text is copied!", "OK");
}
private async void CopyEditorText (object sender, EventArgs e)
{
await Clipboard.SetTextAsync(outputText.Text);
await DisplayAlert("Success", "Text is copied!", "OK");
}
Private Async Sub CopyEditorText(ByVal sender As Object, ByVal e As EventArgs)
Await Clipboard.SetTextAsync(outputText.Text)
Await DisplayAlert("Success", "Text is copied!", "OK")
End Sub
您可以在以下网站上获取这个用于读取和扫描代码的项目 GitHub().
输出
运行项目后,您将看到以下输出。图片未显示是因为尚未选中。
选择条形码后,就会显示如下截图,编辑器中也会显示 QR 码的输出文本。
单击 "复制 "按钮将触发前面提到的警报窗口。
结论
本文介绍了如何使用 IronBarcode 在 .NET MAUI 应用程序中读取条形码。IronBarcode 是一款完整的产品,它包含了所有能够进行条形码操作的必要工具。作为 QR 码阅读器,IronBarcode 的表现非常出色。它能提供预期的精确输出。此外,它还可以读取复杂的条形码。您还可以使用不同的字体创建和自定义条形码。从此处获取更多有关 IronBarcode 的教程文章 链接.
IronBarcode 用于开发目的是免费的。但如果要用于商业用途,则必须购买许可证。您可以通过以下方式获取有关许可证的信息链接.