Jak generować kod QR w .NET MAUI
W tym artykułe omówimy, jak stworzyć generator kodów QR przy użyciu .NET MAUI, nowoczesnego frameworka do tworzenia aplikacji wielopłatformowych. Wykorzystamy bibliotekę IronBarcode do generowania kodów QR i wyświetlania ich na ekranie.
Czym jest .NET MAUI?
.NET MAUI (Multi-platform App UI) to ewolucja frameworka Xamarin Forms, która pozwala programistom tworzyć natywne interfejsy użytkownika dla wielu platform przy użyciu jednego kodu źródłowego. Dzięki .NET MAUI możesz tworzyć aplikacje na Androida, iOS, macOS, Windows i inne platformy, skracając czas i wysiłek potrzebny do ich opracowania.
Jak wygenerować kod QR w .NET Maui
- Pobierz bibliotekę C# do generowania kodów QR
- Skonfiguruj interfejs użytkownika Maui
- Użyj metody
CreateQrCode,aby wygenerować kod QR na podstawie ciągu znaków - Uzyskaj dostęp do danych binarnych obrazu za pomocą metody
ToJpegBinaryData - Przekaż dane binarne do aplikacji Maui, aby wyświetlić kod QR
Przedstawiamy IronBarcode
IronBarcode to potężna biblioteka do generowania kodów kreskowych i kodów QR dla aplikacji .NET. Zapewnia łatwy w użyciu interfejs API do tworzenia różnych typów kodów kreskowych, w tym kodów QR, z możliwością dostosowania ustawień, takich jak rozmiar, korekcja błędów i opcje kodowania.
Konfiguracja projektu .NET MAUI
Aby rozpocząć, musimy utworzyć nowy projekt .NET MAUI w programie Microsoft Visual Studio 2022. Można również użyć programu Microsoft Visual Studio Code, ale kroki będą się różnić. Zaleca się jednak korzystanie z programu Visual Studio. Aby utworzyć projekt, wykonaj poniższe kroki.
Otwórz program Visual Studio 2022. Pojawi się następujący ekran, jak pokazano poniżej.

Kliknij opcję Utwórz nowy projekt i wyszukaj szablon MAUI, jak pokazano poniżej.

Wybierz szablon aplikacji .NET MAUI i kliknij przycisk Dalej. Pojawi się następujące okno.

Nadaj nazwę projektowi, wybierz lokalizację i kliknij przycisk Dalej. Pojawi się następujące okno, jak pokazano poniżej.

Wybierz .NET Framework. Wybrałem .NET 7, można również wybrać .NET 6.0. Projekt zostanie utworzony zgodnie z poniższym obrazkiem.

Ten samouczek skupia się przede wszystkim na początkowym wdrożeniu aplikacji .NET MAUI na lokalnym komputerze z systemem Windows. Możesz skonfigurować ją na symulatorze Androida lub iOS zgodnie z własnymi wymaganiami, korzystając z tej samej bazy kodu.
Aby wdrożyć aplikację .NET MAUI na lokalnym komputerze z systemem Windows, można wykonać następujące czynności w programie Visual Studio:
- Upewnij się, że cel debugowania jest ustawiony na "Windows Machine". Jeśli tak nie jest, wybierz "Windows Machine" z menu rozwijanego na pasku narzędzi.
-
Kliknij przycisk "Start Debugging" lub naciśnij klawisz F5, aby skompilować i uruchomić aplikację na komputerze z systemem Windows.

Jeśli tryb programisty nie jest włączony na komputerze z systemem Windows, Visual Studio wyświetli monit o jego włączenie. Aby to zrobić, wykonaj następujące kroki:
-
W oknie dialogowym "Włącz tryb programisty dla systemu Windows" wyświetlanym przez Visual Studio znajdź link o nazwie "ustawienia dla programistów".

- Kliknij link "ustawienia dla programistów". Spowoduje to otwarcie aplikacji Ustawienia na komputerze z systemem Windows.
-
Włącz przełącznik w sekcji Tryb programisty, jak pokazano poniżej.

Uruchom projekt po włączeniu trybu programisty. Pojawi się następujące okno:

Jest to szablon aplikacji, który jest automatycznie tworzony przez Visual Studio 2022 podczas tworzenia projektu. Teraz zainstalujemy IronBarcode i zmodyfikujemy kod zgodnie z naszymi wymaganiami.
Zainstaluj IronBarcode
Aby zainstalować IronBarcode, otwórz konsolę NuGet Package Manager Console. Aby otworzyć konsolę menedżera pakietów w programie Visual Studio, wykonaj następujące czynności:
- Uruchom program Visual Studio na komputerze z systemem Windows.
- Otwórz projekt, nad którym chcesz pracować, lub utwórz nowy projekt.
- W menu Visual Studio przejdź do "Narzędzia".
- Z menu rozwijanego wybierz opcję "NuGet Package Manager".
- Pojawi się kolejne menu rozwijane, w którym należy wybrać opcję "Package Manager Console".
Otworzy się okno konsoli menedżera pakietów, udostępniające interfejs wiersza poleceń do zarządzania pakietami NuGet w projekcie. Wpisz następujące polecenie w konsoli menedżera pakietów, aby zainstalować IronBarcode.
Install-Package BarCode
Spowoduje to dodanie biblioteki IronBarcode do projektu i udostępnienie jej do użytku.

Generator kodów QR .NET MAUI wykorzystujący IronBarcode
Teraz napiszmy kod, aby stworzyć własną aplikację mobilną do generowania kodów QR. Aby wyświetlić wygenerowany kod QR na ekranie, wykorzystamy możliwości platformy .NET MAUI. Otwórz plik MainPage.xaml i zastąp go poniższym kodem.
<?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="QrCodeGeneratorMAUI.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Label
Text="Hello!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
<Label
Text="Welcome to QR Code Generator .NET Multi-platform App UI"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to QR Code Generator dot Net Multi platform App U I"
FontSize="18"
HorizontalOptions="Center" />
<Entry x:Name="qrCodeText"
Placeholder="Enter QR Code"/>
<Image
x:Name="qrCodeImage"
HeightRequest="200"
HorizontalOptions="Center" />
<Button
x:Name="CounterBtn"
Text="Generate QR Code"
Clicked="OnButtonClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
<?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="QrCodeGeneratorMAUI.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Label
Text="Hello!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
<Label
Text="Welcome to QR Code Generator .NET Multi-platform App UI"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to QR Code Generator dot Net Multi platform App U I"
FontSize="18"
HorizontalOptions="Center" />
<Entry x:Name="qrCodeText"
Placeholder="Enter QR Code"/>
<Image
x:Name="qrCodeImage"
HeightRequest="200"
HorizontalOptions="Center" />
<Button
x:Name="CounterBtn"
Text="Generate QR Code"
Clicked="OnButtonClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Powyższy kod XAML przedstawia stronę .NET MAUI, która generuje kody QR. Oto proste wyjaśnienie komponentów .NET MAUI:
<Label>: Wyświetla tekst na ekranie. W tej aplikacji służy do wyświetlania komunikatu powitalnego i nagłówka w celu przekazania użytkownikowi informacji i instrukcji.<Entry>: Udostępnia użytkownikowi pole do wprowadzania tekstu. W tej aplikacji użytkownik może wprowadzić treść, którą chce zakodować w kodzie QR.<Image>: Wyświetla obraz na ekranie. W tej aplikacji służy do wyświetlania wygenerowanego obrazu kodu QR użytkownikowi po kliknięciu przycisku generowania.<Button>: Oznacza przycisk, który można kliknąć. Pozwala użytkownikowi wywołać akcję po kliknięciu. W tej aplikacji przycisk służy do zainicjowania generowania kodu QR na podstawie treści wprowadzonej przez użytkownika w polu<Entry>.
Te komponenty razem tworzą interfejs, w którym użytkownik może wprowadzić tekst, kliknąć przycisk i zobaczyć odpowiedni kod QR wyświetlony na ekranie.
Teraz napiszmy kod zaplecza do generowania kodu QR. Otwórz plik MainPage.xaml.cs i zaktualizuj klasę kodową w następujący sposób:
using IronBarCode;
namespace QrCodeGeneratorMAUI
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnButtonClicked(object sender, EventArgs e)
{
// Get the text from the entry field
string text = qrCodeText.Text;
// Generate the QR code using the IronBarcode library
var qrCode = QRCodeWriter.CreateQrCode(text);
// Convert the QR code to binary JPEG data
var qrCodeBytes = qrCode.ToJpegBinaryData();
// Set the QR code image source to display the generated QR code on the UI
qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
}
}
using IronBarCode;
namespace QrCodeGeneratorMAUI
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnButtonClicked(object sender, EventArgs e)
{
// Get the text from the entry field
string text = qrCodeText.Text;
// Generate the QR code using the IronBarcode library
var qrCode = QRCodeWriter.CreateQrCode(text);
// Convert the QR code to binary JPEG data
var qrCodeBytes = qrCode.ToJpegBinaryData();
// Set the QR code image source to display the generated QR code on the UI
qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
}
}
Imports IronBarCode
Namespace QrCodeGeneratorMAUI
Partial Public Class MainPage
Inherits ContentPage
Public Sub New()
InitializeComponent()
End Sub
Private Sub OnButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
' Get the text from the entry field
Dim text As String = qrCodeText.Text
' Generate the QR code using the IronBarcode library
Dim qrCode = QRCodeWriter.CreateQrCode(text)
' Convert the QR code to binary JPEG data
Dim qrCodeBytes = qrCode.ToJpegBinaryData()
' Set the QR code image source to display the generated QR code on the UI
qrCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
End Sub
End Class
End Namespace
Oto wyjaśnienie kodu.
- Metoda
OnButtonClickedjest procedurą obsługi zdarzenia kliknięcia przycisku. Po kliknięciu przycisku wykonywana jest ta metoda. - Wewnątrz metody
OnButtonClickedtekst zawarty w polu wprowadzaniaqrCodeTextjest przypisywany do zmiennej tekstowej. QRCodeWriter.CreateQrCode(text)służy do tworzenia kodu QR na podstawie wprowadzonego tekstu.qrCode.ToJpegBinaryData()konwertuje kod QR na binarne dane JPEG.qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes))ustawia źródło kontrolkiqrCodeImagetak, aby wyświetlała wygenerowany obraz kodu QR.
Uruchom aplikację .NET MAUI
Uruchommy projekt, aby przetestować jego funkcjonalność. Naciśnij klawisz F5, aby uruchomić aplikację na komputerze z systemem Windows. Po uruchomieniu projektu pojawi się następujący ekran.
Wpisz tekst, który chcesz zakodować, i naciśnij przycisk "Generuj kod QR". Kod QR zostanie wygenerowany i wyświetlony na ekranie, jak pokazano poniżej.

Dodaj adnotację i wartość kodu QR
Opracowaliśmy generator kodów QR z podstawowymi funkcjami. Zwiększmy funkcjonalność, dodając do naszego kodu QR adnotację i wartość kodu QR. Zmodyfikuj metodę OnButtonClicked zgodnie z poniższym kodem źródłowym.
private void OnButtonClicked(object sender, EventArgs e)
{
// Get the text from the entry field
string text = qrCodeText.Text;
// Generate the QR code using the IronBarcode library
var qrCode = QRCodeWriter.CreateQrCode(text);
// Add the text of the QR code value below the generated barcode
qrCode.AddBarcodeValueTextBelowBarcode();
// Add an annotation text above the barcode
qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");
// Convert the QR code to binary JPEG data
var qrCodeBytes = qrCode.ToJpegBinaryData();
// Set the QR code image source to display the generated QR code on the UI
qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
private void OnButtonClicked(object sender, EventArgs e)
{
// Get the text from the entry field
string text = qrCodeText.Text;
// Generate the QR code using the IronBarcode library
var qrCode = QRCodeWriter.CreateQrCode(text);
// Add the text of the QR code value below the generated barcode
qrCode.AddBarcodeValueTextBelowBarcode();
// Add an annotation text above the barcode
qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");
// Convert the QR code to binary JPEG data
var qrCodeBytes = qrCode.ToJpegBinaryData();
// Set the QR code image source to display the generated QR code on the UI
qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
Private Sub OnButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
' Get the text from the entry field
Dim text As String = qrCodeText.Text
' Generate the QR code using the IronBarcode library
Dim qrCode = QRCodeWriter.CreateQrCode(text)
' Add the text of the QR code value below the generated barcode
qrCode.AddBarcodeValueTextBelowBarcode()
' Add an annotation text above the barcode
qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App")
' Convert the QR code to binary JPEG data
Dim qrCodeBytes = qrCode.ToJpegBinaryData()
' Set the QR code image source to display the generated QR code on the UI
qrCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
End Sub
qrCode.AddBarcodeValueTextBelowBarcode()dodaje tekst wartości kodu QR poniżej wygenerowanego BARCODE.qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App")dodaje tekst adnotacji nad BARCODE, wskazujący, że został on wygenerowany przez aplikację .NET MAUI.
Visual Studio 2022 udostępnia opcję Hot Reload dla aplikacji .NET MAUI. Po zmianie metody OnButtonClicked można kliknąć Hot Reload, a zmiany zostaną wyświetlone; może nie być konieczne zamykanie i ponowne kompilowanie aplikacji.
Wpisz tekst, który chcesz zakodować, i naciśnij przycisk "Generuj kod QR". Kod QR zostanie wygenerowany w sposób pokazany poniżej.

IronBarcode oferuje inne przydatne funkcje, takie jak dodawanie obrazów, kolorowanie i zmiana rozmiaru kodu QR itp. Bardziej szczegółowe samouczki i przykłady kodu można znaleźć w oficjalnej dokumentacji.
Generator BarCode .NET MAUI
Możesz również stworzyć generator kodów kreskowych .NET MAUI przy pomocy biblioteki IronBarcode. Wystarczy wprowadzić niewielką zmianę w kodzie i wszystko będzie gotowe, jak pokazano w poniższym przykładzie kodu.
private void OnButtonClicked(object sender, EventArgs e)
{
// Get the text from the entry field
string text = barCodeText.Text;
// Generate the barcode using the IronBarcode library with Code128 encoding
var barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128);
// Add the text of the barcode value below the generated barcode
barCode.AddBarcodeValueTextBelowBarcode();
// Add an annotation text above the barcode
barCode.AddAnnotationTextAboveBarcode("My Barcode Generated by .NET MAUI App");
// Convert the barcode to binary JPEG data
var qrCodeBytes = barCode.ToJpegBinaryData();
// Set the barcode image source to display the generated barcode on the UI
barCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
private void OnButtonClicked(object sender, EventArgs e)
{
// Get the text from the entry field
string text = barCodeText.Text;
// Generate the barcode using the IronBarcode library with Code128 encoding
var barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128);
// Add the text of the barcode value below the generated barcode
barCode.AddBarcodeValueTextBelowBarcode();
// Add an annotation text above the barcode
barCode.AddAnnotationTextAboveBarcode("My Barcode Generated by .NET MAUI App");
// Convert the barcode to binary JPEG data
var qrCodeBytes = barCode.ToJpegBinaryData();
// Set the barcode image source to display the generated barcode on the UI
barCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
Private Sub OnButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
' Get the text from the entry field
Dim text As String = barCodeText.Text
' Generate the barcode using the IronBarcode library with Code128 encoding
Dim barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128)
' Add the text of the barcode value below the generated barcode
barCode.AddBarcodeValueTextBelowBarcode()
' Add an annotation text above the barcode
barCode.AddAnnotationTextAboveBarcode("My Barcode Generated by .NET MAUI App")
' Convert the barcode to binary JPEG data
Dim qrCodeBytes = barCode.ToJpegBinaryData()
' Set the barcode image source to display the generated barcode on the UI
barCodeImage.Source = ImageSource.FromStream(Function() New MemoryStream(qrCodeBytes))
End Sub
Wynik

Oprócz nauki tworzenia generatora kodów QR przy użyciu .NET MAUI i biblioteki IronBarcode, warto wspomnieć o aspektach cenowych IronBarcode.
IronBarcode jest bezpłatny do celów programistycznych i oferuje bezpłatną wersję próbną oraz różne plany cenowe dostosowane do różnych potrzeb w celach komercyjnych. Ceny zależą od opcji licencyjnych, które obejmują licencje wieczyste na wdrożenie lokalne, a także licencje oparte na subskrypcji na wdrożenia w chmurze.

Wnioski
W tym artykułe dowiedzieliśmy się, jak stworzyć generator kodów QR i generator kodów kreskowych przy użyciu .NET MAUI i biblioteki IronBarcode. Omówiliśmy kroki niezbędne do zainstalowania IronBarcode, utworzenia kodów QR i wyświetlenia ich na ekranie przy użyciu kontrolki obrazu .NET MAUI.
.NET MAUI zapewnia potężny framework do tworzenia aplikacji wielopłatformowych, a IronBarcode upraszcza proces generowania kodów kreskowych i kodów QR. Łącząc te technologie, można tworzyć wszechstronne i wydajne aplikacje, które wykorzystują możliwości nowoczesnych urządzeń.
Często Zadawane Pytania
Czym jest .NET MAUI i czym różni się od Xamarin Forms?
.NET MAUI (Multi-platform App UI) to ewolucja frameworka Xamarin Forms, która pozwala programistom tworzyć natywne interfejsy użytkownika dla wielu platform przy użyciu jednego kodu źródłowego. Obsługuje systemy Android, iOS, macOS, Windows i inne, zapewniając usprawnione środowisko programistyczne w porównaniu z Xamarin Forms.
Jak wygenerować kod QR w aplikacji .NET MAUI?
Aby wygenerować kod QR w aplikacji .NET MAUI, należy użyć biblioteki IronBarcode. Najpierw należy dodać IronBarcode za pośrednictwem NuGet, skonfigurować interfejs użytkownika MAUI, a następnie użyć metody CreateQrCode z biblioteki IronBarcode do wygenerowania kodu QR na podstawie ciągu znaków.
Jakie kroki należy wykonać, aby skonfigurować projekt .NET MAUI w Visual Studio?
Aby skonfigurować projekt .NET MAUI w Visual Studio 2022, otwórz Visual Studio, utwórz nowy projekt, wyszukaj szablon MAUI, wybierz szablon aplikacji .NET MAUI i postępuj zgodnie z instrukcjami konfiguracji dostarczonymi przez Visual Studio.
Jak wyświetlić kod QR w aplikacji .NET MAUI?
Aby wyświetlić kod QR w aplikacji .NET MAUI, należy użyć metody CreateQrCode biblioteki IronBarcode do wygenerowania kodu QR, a następnie przekonwertować go na dane binarne za pomocą metody ToJpegBinaryData. Następnie można go wyświetlić w interfejsie użytkownika za pomocą kontrolki Image.
Czy mogę opisać kod QR w projekcie .NET MAUI?
Tak, w projekcie .NET MAUI można opatrzyć kod QR adnotacjami za pomocą biblioteki IronBarcode. Aby dodać adnotacje tekstowe powyżej i poniżej kodu QR, należy użyć metod takich jak AddBarcodeValueTextBelowBarcode i AddAnnotationTextAboveBarcode.
Czy IronBarcode jest darmowy w aplikacjach .NET MAUI?
IronBarcode jest bezpłatny do celów programistycznych i oferuje bezpłatną wersję próbną. Do użytku komercyjnego dostępne są różne plany cenowe i opcje licencyjne, co pozwala programistom na wybór odpowiedniego rozwiązania w zależności od potrzeb projektu.
Jak stworzyć generator kodów kreskowych za pomocą .NET MAUI?
Aby stworzyć generator kodów kreskowych za pomocą .NET MAUI, można użyć biblioteki IronBarcode, modyfikując kod generujący kody QR. Aby wygenerować różne typy kodów kreskowych, należy użyć metody BarcodeWriter.CreateBarcode z wybranym kodowaniem.
Jakie są zalety korzystania z IronBarcode w środowisku .NET MAUI?
Korzystanie z IronBarcode w środowisku .NET MAUI pozwala programistom na wydajne generowanie i manipulowanie kodami kreskowymi oraz kodami QR na wielu platformach przy użyciu jednego kodu źródłowego. Oferuje solidne funkcje, takie jak możliwość dostosowania rozmiaru, korekcja błędów i opcje kodowania, zwiększając możliwości aplikacji wieloplatformowych.




