
Jak generować kody QR używając QRCoder w porównaniu do IronQR w .NET 6
Generowanie kodów QR w języku C#
Tworzenie kodów QR w aplikacjach C# jest częstym wymaganiem programistów, zwłaszcza w przypadku aplikacji związanych z identyfikacją produktów, wystawianiem biletów lub łatwym udostępnianiem adresów URL i innych danych. Istnieje kilka bibliotek do generowania kodów QR w języku C#. Dwie godne uwagi opcje to QRCoder i IronQR. W tym artykułe przyjrzymy się obu bibliotekom, porównując ich możliwości, łatwość użycia, wydajność i inne czynniki istotne dla programistów pracujących z .NET 6. W tym artykułe zagłębimy się w szczegółowe porównanie tych bibliotek, analizując ich funkcje, łatwość użycia, licencję i inne aspekty, a także przedstawimy przykłady kodu ilustrujące ich zastosowanie.
Jak wygenerować kod QR za pomocą QRCoder w porównaniu z IronQR w .NET 6
- Utwórz nowy projekt w Visual Studio, aby wygenerować kod QR
- Zainstaluj pakiety NuGet QRCoder i IronQR, aby porównać
- Tworzenie kodów QR za pomocą QRCoder i IronQR
- Opcje dostosowywania za pomocą QRCoder i IronQR
QRCoder
QRCoder to biblioteka open source napisana w języku C#, która zapewnia implementację kodów QR, umożliwiającą generowanie kodów QR zgodnie z normą ISO/IEC 18004 w dowolnej aplikacji .NET. Jest to lekka i łatwa w użyciu biblioteka, która nie jest zależna od innych bibliotek ani stosów sieciowych.
Oto kluczowe funkcje i zalety QRCoder:
1. Łatwość użytkowania
C# QRCoder oferuje prosty i intuicyjny interfejs API, dzięki czemu deweloperzy mogą łatwo generować kody QR/kodować tekst kodu QR z minimalnym wysiłkiem. Jego prostota pozwala programistom o każdym poziomie umiejętności szybko zintegrować generowanie kodów QR ze swoimi projektami.
2. Szerokie możliwości dostosowania
Jedną z wyróżniających się funkcji QRCoder jest możliwość dostosowywania kodów QR do konkretnych wymagań. Programiści mogą dostosować parametry, takie jak poziom korekcji błędów, rozmiar, kolor, a nawet osadzić logo lub obrazy w kodzie QR.
3. Wiele formatów kodowania
QRCoder obsługuje różne formaty kodowania, umożliwiając programistom kodowanie różnych typów danych w kodach QR. Niezależnie od tego, czy chodzi o zwykły tekst, adresy URL, dane kontaktowe czy dane logowania do sieci Wi-Fi, QRCoder obsługuje szeroki zakres formatów danych.
4. Wysoka jakość tłumaczenia
Kody QR generowane przez C# QRCoder są wysokiej jakości, co zapewnia ich czytelność i niezawodność na różnych urządzeniach i w różnych warunkach skanowania. Ta niezawodność ma kluczowe znaczenie w przypadku aplikacji, w których kody QR służą jako pomost między interakcjami fizycznymi a cyfrowymi.
5. Oprogramowanie open source i aktywny rozwój
C# QRCoder to projekt open source, który pozwala programistom wnosić swój wkład w jego rozwój oraz zapewnia ciągłe ulepszenia i aktualizacje. To aktywne zaangażowanie społeczności sprzyja innowacjom i gwarantuje, że biblioteka pozostaje aktualna w nieustannie zmieniającym się świecie technologii.
IronQR
IronQR to potężna biblioteka kodów QR w języku C#, opracowana i utrzymywana przez Iron Software. Umożliwia to inżynierom oprogramowania C# wykrywanie, odczytywanie i tworzenie kodów QR w aplikacjach .NET i na stronach internetowych. Oto kilka kluczowych funkcji IronQR:
Generowanie kodów QR
IronQR pozwala na wysoce personalizowaną generację kodów QR. Możesz tworzyć kody QR z różnymi opcjami, takimi jak zmiana rozmiaru, marginesy, obramowania i zmiana kolorów.
using IronQr;
using IronSoftware.Drawing;
public class Program
{
public static void Main()
{
// Prepare a QR Code object
QrCode theQrGen = QrWriter.Write("Awesome IronQR");
// Save QR Code to memory
AnyBitmap myQrImage = theQrGen.Save();
// Save QR Code image to disk
myQrImage.SaveAs("awesome.png");
}
}Imports IronQr
Imports IronSoftware.Drawing
Public Class Program
Public Shared Sub Main()
' Prepare a QR Code object
Dim theQrGen As QrCode = QrWriter.Write("Awesome IronQR")
' Save QR Code to memory
Dim myQrImage As AnyBitmap = theQrGen.Save()
' Save QR Code image to disk
myQrImage.SaveAs("awesome.png")
End Sub
End ClassOdczytywanie Kodów QR
IronQR używa zaawansowanego Modelu Uczenia Maszynowego do wykrywania kodów QR. Ten model zapewnia dokładne i szybkie odczytywanie kodów QR. IronQR obsługuje odczytywanie kodów QR z różnych formatów obrazów, w tym JPG, PNG, SVG, bmp oraz wielostronicowych obrazów jak gif i tiff.
using IronQr;
using IronSoftware.Drawing;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
// Read QR code
var inputBmp = AnyBitmap.FromFile("awesome.png");
// Load the image into QrImageInput
QrImageInput imageInput = new QrImageInput(inputBmp);
// Create the QR Reader object
QrReader reader = new QrReader();
// Read the Input and get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
}
}Imports IronQr
Imports IronSoftware.Drawing
Imports System.Collections.Generic
Public Class Program
Public Shared Sub Main()
' Read QR code
Dim inputBmp = AnyBitmap.FromFile("awesome.png")
' Load the image into QrImageInput
Dim imageInput As New QrImageInput(inputBmp)
' Create the QR Reader object
Dim reader As New QrReader()
' Read the Input and get all embedded QR Codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
End Sub
End ClassKompatybilność międzyplatformowa
- Desktop: Pracuje z aplikacjami desktopowymi na Windows (WPF & MAUI).
- Mobilne: Kompatybilne z Xamarin i MAUI.
- Sieć: Obsługuje Blazor i WebForms.
- Konsola: Środowisk apliakcyjne i biblioteczne.
- Chmura: Docker, Azure i AWS.
Kodowanie Danych
Możesz kodować różne typy danych w kodach QR, w tym tekst, URL, bajty i liczby.
Korekcja błędów
IronQR dostarcza szczegółowe komunikaty o błędach oraz opcje korekcji błędów na zamówienie.
Zaufane przez miliony, IronQR jest zaufaną przez inżynierów na całym świecie ze względu na swoją niezawodność i łatwość użycia. Aby rozpocząć z IronQR, możesz go zainstalować z NuGet.
Krok 1: Utwórz nowy projekt Visual Studio, aby wygenerować kod QR
Aby rozpocząć z kodem, utwórzmy Projekt Visual Studio. Otwórz Microsoft Visual Studio 2022 i wybierz opcję "Utwórz nowy projekt".

Wybierz szablon aplikacji konsolowej z listy szablonów

Następnie podaj nazwę projektu i nazwę rozwiązania. Wybierz ścieżkę do przechowywania plików projektu

Wybierz wymaganą wersję .NET. Będę korzystać z najnowszego frameworka .NET 8 w momencie pisania tego artykułu.

Po kliknięciu przycisku utworzenia projekt zostaje utworzony i gotowy do rozwoju.
Krok 2: Zainstaluj pakiety NuGet QRCoder i IronQR
Pakiet NuGet QRCoder można zainstalować za pomocą menedżera pakietów NuGet w Visual Studio, jak pokazano poniżej.

Lub zainstaluj go z konsoli menedżera pakietów NuGet, używając następującego polecenia
Pakiet NuGet QRCoder jest dostępny na stronie NuGet tutaj

IronQR można także zainstalować w podobny sposób, korzystając z menedżera pakietów NuGet w Visual Studio, jak pokazano poniżej.

Również z konsoli menedżera pakietów NuGet, użyj następującego polecenia

Krok 3: Tworzenie kodów QR przy użyciu QRCoder i IronQR
Tworzenie kodów QR w obu bibliotekach wymaga prostego kodu, sprawdźmy je
QRCoder
Poniższy kod pokazuje, jak wygenerować nasz pierwszy kod QR przy użyciu QRCoder
using QRCoder;
using System.Drawing;
using System.IO;
namespace QRCoderVs IronQR
{
public class Program
{
public static void Main()
{
// Initialize QRCodeGenerator
using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
// Create QR code data
using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
// Initialize the QR code with the data
using (BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData))
{
// Generate the QR code's graphic and store it in a byte array
byte[] qrCodeImage = qrCode.GetGraphic(20);
// Convert the byte array to an image format and save it to disk
using (var file = Image.FromStream(new MemoryStream(qrCodeImage)))
{
file.Save("QrCoderDemo1.png");
}
}
}
}
}
Wyjaśnienie kodu
- Zainicjuj
QRCodeGeneratori wywołaj metodęCreateQrCode, aby wygenerować dane kodu QR. - Użyj klasy
BitmapByteQRCode, aby wygenerować tablicę bajtów z danych kodu QR, używając metodyGetGraphic. - Przekonwertuj tablicę bajtów na obraz za pomocą
Image.FromStream. - Zapisz wygenerowany obraz na dysku.
Wynik

IronQR
Poniższy kod pokazuje, jak wygenerować kod QR przy użyciu IronQR:
using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWith IronQR
{
public class Program
{
public static void Main()
{
// Prepare a QR Code object
QrCode theQrGen = QrWriter.Write("Awesome IronQR");
// Save QR Code to memory
AnyBitmap myQrImage = theQrGen.Save();
// Save QR Code image to disk
myQrImage.SaveAs("awesome.png");
}
}
}
Jak już możesz zauważyć różnicę w ilości kodu. Generacja kodu przy użyciu IronQR wymaga mniej kodu.
Wyjaśnienie kodu
- Utwórz kod QR za pomocą metody
QrWriter.Write, przekazując żądaną zawartość. - Zapisz kod QR do pamięci za pomocą metody
Save. - Zapisz obraz kodu QR na dysku za pomocą
SaveAs.
Wynik
Wyjście zawiera znak wodny IronQR, ponieważ używam wer reproduce trial versionskiej. W wersji licencjonowanej, zostanie on usunięty.

Krok 4: Opcje personalizacji z QRCoder i IronQR
Obie biblioteki wspierają opcje personalizacji. Spójrzmy na niektóre dostępne opcje
Możemy ustawić kolory kodu QR w QRCoder jak poniżej:
using QRCoder;
using System.Drawing;
using System.IO;
namespace QRCoderVs IronQR
{
public class Program
{
public static void Main()
{
// Initialize QRCodeGenerator
using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
// Create QR code data
using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
// Initialize the QR code with the data
using (BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData))
{
// Generate the QR code's graphic, specifying foreground and background colors
byte[] qrCodeImage = qrCode.GetGraphic(20, Color.Red, Color.Green);
// Convert the byte array to an image format and save it to disk
using (var file = Image.FromStream(new MemoryStream(qrCodeImage)))
{
file.Save("QrCoderDemo1.png");
}
}
}
}
}
Wyjaśnienie kodu
- Zainicjuj
QRCodeGeneratori wywołaj metodęCreateQrCode, aby wygenerować dane kodu QR. - Użyj klasy
BitmapByteQRCode, aby wygenerować tablicę bajtów z danych kodu QR, używając metodyGetGraphic, określając kolory pierwszego planu (czerwony) i tła (zielony). - Przekonwertuj tablicę bajtów na obraz za pomocą
Image.FromStream. - Zapisz wygenerowany obraz na dysku.
Wynik

Możemy ustawić kolory dla generowania kodów QR w IronQR jak poniższy kod:
using IronQr;
using IronSoftware.Drawing;
using System.Drawing;
namespace QrCodeWith IronQR
{
public class Program
{
public static void Main()
{
// Set options
QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium, 20);
// Create QR
QrCode myQr = QrWriter.Write("IronQR Generation Demo 1", options);
// Style options
AnyBitmap logoBmp = new AnyBitmap("logo.png");
QrStyleOptions style = new QrStyleOptions
{
BackgroundColor = Color.Aqua,
Dimensions = 300, // px
Margins = 10, // px
Color = Color.Red,
Logo = new QrLogo
{
Bitmap = logoBmp,
Width = 100,
Height = 100,
CornerRadius = 2
}
};
// Save QR Code
AnyBitmap qrImage = myQr.Save(style);
// Save QR Code to local disk
qrImage.SaveAs("advancedQr.png");
}
}
}
Dzięki IronQR istnieje wiele opcji personalizacji. W powyższym programie staraliśmy się dostosować kolor tła, kolor kodu QR, marginesy. Możemy także ustawić wymiary.
Wyjaśnienie kodu
- Najpierw utwórz obiekt
QrOptions, aby ustawić poziom korekcji błędów. - Przygotuj kod QR za pomocą metody
QrWriter.Write. - Ustaw opcje stylu za pomocą
QrStyleOptions. - Ustaw kolor tła, kolor pierwszego planu, marginesy, wymiary, a nawet logo dla kodu QR.
- Zapisz obraz kodu QR na lokalnym dysku.
Wynik

Licencjonowanie
QRCoder to pakiet o licencji MIT i jest rozwijany przy udziale społeczności. Ten pakiet jest odpowiedni dla projektów o małym budżecie. Użytkownik musi poczekać, aż społeczność rozwiąże problemy, lub może naprawić kod i dodać go do repozytorium Git za pomocą zatwierdzonych pull requestów.
IronQR requires a license. Posiada wsparcie od Iron Software.
Można uzyskać licencję trial IronQR. Uzyskany klucz należy umieścić w pliku appSettings.json tutaj:
{
"IronQr.License.LicenseKey": "myKey"
}
Wnioski
Wybór pomiędzy C# QRCoder a IronQR ostatecznie zależy od specyficznych wymagań Twojego projektu. Jeśli potrzebujesz darmowej i otwartoźródłowej biblioteki generowania kodów QR z wieloma opcjami dostosowania, to C# QRCoder może być preferowanym wyborem ze względu na swoją prostotę i rozległe możliwości dostosowania.
Jeśli potrzebujesz biblioteki na poziomie przedsiębiorstwa, która wspiera nie tylko generowanie kodów QR z opcjami dostosowania, ale także odczytywanie kodów QR, to IronQR byłby najlepszym wyborem. Z biblioteką IronQR, jej licznymi zaletami i funkcjami wsparcia od Iron Software, programiści mogą pisać aplikacje dla przedsiębiorstw z łatwością i komfortem.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.
Powiązane artykuły


