Jak generować kody QR w C# za pomocą pakietu NuGet
Generowanie kodów QR w aplikacjach .NET nigdy nie było prostsze. Dzięki odpowiedniemu pakietowi NuGet możesz tworzyć kody QR, dostosowywać ich wygląd i zapisywać je w wielu formatach wyjściowych za pomocą zaledwie kilku linii kodu. IronQR zapewnia generowanie kodów QR na poziomie korporacyjnym z obsługą wielu platform dla .NET Core, .NET Framework oraz .NET 5-10.
Ten samouczek pokazuje, jak zainstalować pakiet IronQR NuGet i od razu zacząć generować kody QR. Niezależnie od tego, czy tworzysz systemy zarządzania zapasami, platformy sprzedaży biletów na wydarzenia czy aplikacje marketingowe, IronQR zapewnia narzędzia niezbędne do profesjonalnego wdrażania kodów QR.
!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101000101111101010011010101000100000101010010010101000100010101000100010111110101011101001001010100010010000101111101010000010100100100111101000100010101010100001101010100010111110101010001010010010010010100000101001100010111110100001001001100010011110100001101001011--}
Jak zainstalować pakiet NuGet z kodem QR?
Instalacja IronQR za pomocą menedżera pakietów NuGet zajmuje kilka sekund. Otwórz konsolę menedżera pakietów NuGet w programie Visual Studio i uruchom następujące polecenie lub użyj polecenia dotnet add package w środowiskach CLI:
Install-Package IronQR
Pakiet NuGet automatycznie obsługuje wszystkie zależności, zapewniając kompatybilność z docelowymi frameworkami. IronQR obsługuje .NET Framework 4.6.2+, .NET Core 2.0+ oraz .NET 5-10, co czyni go wszechstronną biblioteką dla każdego projektu Visual Studio.
Przed napisaniem jakiegokolwiek kodu potrzebny jest bezpłatny klucz licencyjny na okres próbny. Ustaw to na początku uruchamiania aplikacji, aby wszystkie kolejne wywołania były uwierzytelniane:
using IronQr;
// Set license key before any IronQR operation
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
using IronQr;
// Set license key before any IronQR operation
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
Imports IronQr
' Set license key before any IronQR operation
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
Po wprowadzeniu klucza licencyjnego aplikacja jest gotowa do generowania, odczytywania i dostosowywania kodów QR bez znaków wodnych na obrazach wyjściowych.
Jak wygenerować swój pierwszy kod QR?
Utworzenie pierwszego kodu QR wymaga minimalnej ilości kodu. Klasa QrWriter obsługuje generowanie kodów QR z rozsądnymi ustawieniami domyślnymi, które sprawdzają się w większości przypadków:
using IronQr;
using IronSoftware.Drawing;
// Generate a QR code from text data
QrCode myQr = QrWriter.Write("Hello World");
// Save QR code as bitmap image
AnyBitmap qrImage = myQr.Save();
// Export to PNG file
qrImage.SaveAs("hello-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Generate a QR code from text data
QrCode myQr = QrWriter.Write("Hello World");
// Save QR code as bitmap image
AnyBitmap qrImage = myQr.Save();
// Export to PNG file
qrImage.SaveAs("hello-qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Generate a QR code from text data
Dim myQr As QrCode = QrWriter.Write("Hello World")
' Save QR code as bitmap image
Dim qrImage As AnyBitmap = myQr.Save()
' Export to PNG file
qrImage.SaveAs("hello-qr.png")
Wynik w postaci kodu QR

Metoda QrWriter.Write() przyjmuje dane typu string i zwraca obiekt QrCode zawierający symbol QR. Metoda Save() konwertuje to na AnyBitmap, co umożliwia kodowanie do różnych formatów obrazów lub eksportowanie danych wektorowych dla ścieżki XAML. To podejście działa na systemach Windows, macOS i Linux bez zależności specyficznych dla platformy — w przeciwieństwie do bibliotek opartych na System.Drawing, które od wersji .NET 6 działają wyłącznie w systemie Windows.
Powyższy wzorzec trzech wierszy obejmuje najczęstszy scenariusz: zakoduj ciąg znaków, pobierz bitmapę, zapisz plik. W zastosowaniach produkcyjnych prawdopodobnie będziesz przekazywać ciągi adresów URL, identyfikatory produktów lub ładunki JSON zamiast zwykłego tekstu.
Jak wybrać odpowiedni poziom korekty błędów?
Kody QR obsługują cztery poziomy korekcji błędów zdefiniowane w normie ISO/IEC 18004 dotyczącej kodów QR, które określają, jak duże uszkodzenie może ponieść kod, pozostając jednocześnie skanowalnym. IronQR obsługuje wszystkie cztery poziomy poprzez klasę QrOptions:
| Poziom | Zdolność odzyskiwania | Najlepsze dla |
|---|---|---|
| L (Niski) | ~7% | Czyste środowiska, maksymalna gęstość danych |
| M (Średni) | ~15% | Ogólne zastosowanie (domyślne) |
| Q (Quartile) | ~25% | Zastosowania przemysłowe |
| H (Wysoki) | ~30% | Logo, oznakowanie zewnętrzne, częściowe zasłonięcie |
using IronQr;
using IronSoftware.Drawing;
// Configure high error correction level
var options = new QrOptions(QrErrorCorrectionPoziom.High);
// Generate QR code with options
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options);
AnyBitmap image = qr.Save();
image.SaveAs("high-correction-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Configure high error correction level
var options = new QrOptions(QrErrorCorrectionPoziom.High);
// Generate QR code with options
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options);
AnyBitmap image = qr.Save();
image.SaveAs("high-correction-qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Configure high error correction level
Dim options As New QrOptions(QrErrorCorrectionPoziom.High)
' Generate QR code with options
Dim qr As QrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options)
Dim image As AnyBitmap = qr.Save()
image.SaveAs("high-correction-qr.png")
Wynik

Wyższe poziomy korekcji błędów tworzą gęstsze symbole QR z większą liczbą modułów surowych, dzięki czemu kod pozostaje czytelny nawet wtedy, gdy jest częściowo zasłonięty lub uszkodzony. W przypadku kodów, które będą drukowane na opakowaniach lub umieszczane w logo, właściwym wyborem jest poziom H. W przypadku wyświetlania wyłącznie w formie cyfrowej, gdzie nie ma obaw o uszkodzenia, poziom M zapewnia równowagę między pojemnością danych a niezawodnością.
Wybór niewłaściwego poziomu jest częstą przyczyną niepowodzeń skanowania w środowisku produkcyjnym. Jeśli kody QR będą umieszczone na materiałach fizycznych lub w różnej odległości od aparatów, należy użyć poziomu Q lub H i zweryfikować wynik za pomocą wielu aplikacji skanujących przed wdrożeniem.
Jak dostosować wygląd kodu QR?
IronQR zapewnia szerokie możliwości stylizacji poprzez QrStyleOptions, umożliwiając dostosowanie kolorów, wymiarów, marginesów oraz osadzanie logo. Markowe kody QR sprawdzają się lepiej w kontekście marketingowym, ponieważ wizualnie kojarzą kod z rozpoznawalną tożsamością:
using IronQr;
using IronSoftware.Drawing;
// Create styled QR code with custom colors
var styleOptions = new QrStyleOptions
{
Dimensions = 300, // Width and height in pixels
Margins = 10, // Quiet zone in pixels
Color = Color.DarkBlue,
BackgroundColor = Color.White
};
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap styledImage = qr.Save(styleOptions);
styledImage.SaveAs("styled-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Create styled QR code with custom colors
var styleOptions = new QrStyleOptions
{
Dimensions = 300, // Width and height in pixels
Margins = 10, // Quiet zone in pixels
Color = Color.DarkBlue,
BackgroundColor = Color.White
};
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap styledImage = qr.Save(styleOptions);
styledImage.SaveAs("styled-qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Create styled QR code with custom colors
Dim styleOptions As New QrStyleOptions With {
.Dimensions = 300, ' Width and height in pixels
.Margins = 10, ' Quiet zone in pixels
.Color = Color.DarkBlue,
.BackgroundColor = Color.White
}
Dim qr As QrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/")
Dim styledImage As AnyBitmap = qr.Save(styleOptions)
styledImage.SaveAs("styled-qr.png")
Sformatowany kod QR

Właściwość Dimensions określa zarówno szerokość, jak i wysokość w pikselach. Właściwość Margins kontroluje strefę ciszy — białą ramkę otaczającą symbol QR, którą skanery wykorzystują do lokalizowania granic kodu. Zmniejszenie marginesów poniżej zalecanego minimum 4 modułów może powodować błędy skanowania na starszych urządzeniach.
Dodanie logo do kodów QR zwiększa rozpoznawalność marki. System stylizacji automatycznie pozycjonuje logo, zachowując jednocześnie czytelność — jest to znacząca przewaga nad alternatywnymi rozwiązaniami open source, które wymagają ręcznego obliczania położenia.
Jak zapisać kody QR w różnych formatach wyjściowych?
IronQR obsługuje wiele formatów wyjściowych, w tym PNG, JPEG, GIF, TIFF, BMP i SVG. Metoda SaveAs automatycznie wykrywa format na podstawie rozszerzenia pliku:
using IronQr;
using IronSoftware.Drawing;
QrCode qr = QrWriter.Write("Format demonstration");
AnyBitmap image = qr.Save();
// Save to raster image formats
image.SaveAs("qr-output.png");
image.SaveAs("qr-output.jpg");
image.SaveAs("qr-output.gif");
// Get as byte array for HTTP responses or database storage
byte[] pngBytes = image.ExportBytes();
using IronQr;
using IronSoftware.Drawing;
QrCode qr = QrWriter.Write("Format demonstration");
AnyBitmap image = qr.Save();
// Save to raster image formats
image.SaveAs("qr-output.png");
image.SaveAs("qr-output.jpg");
image.SaveAs("qr-output.gif");
// Get as byte array for HTTP responses or database storage
byte[] pngBytes = image.ExportBytes();
Imports IronQr
Imports IronSoftware.Drawing
Dim qr As QrCode = QrWriter.Write("Format demonstration")
Dim image As AnyBitmap = qr.Save()
' Save to raster image formats
image.SaveAs("qr-output.png")
image.SaveAs("qr-output.jpg")
image.SaveAs("qr-output.gif")
' Get as byte array for HTTP responses or database storage
Dim pngBytes As Byte() = image.ExportBytes()
Wiele formatów wyjściowych kodów QR

Metoda ExportBytes() jest szczególnie przydatna w aplikacjach internetowych, w których konieczne jest zwrócenie obrazu kodu QR przez HTTP bez zapisywania go na dysku. Możesz zapisać tablicę bajtów bezpośrednio do strumienia odpowiedzi lub przechowywać ją w kolumnie bazy danych w celu pobrania na żądanie.
W celu osadzania kodów QR w dokumentach PDF, IronQR udostępnia metodę StampToExistingPdfPage, umożliwiającą bezpośrednie umieszczanie kodów QR w istniejących dokumentach. Działa to natywnie bez dodatkowych bibliotek PDF, co ma znaczenie w środowiskach mikrousług, gdzie chcesz zminimalizować liczbę zależności.
Jak wypada porównanie pakietu IronQR NuGet z QRCoder?
Biblioteka QRCoder to popularna opcja open source do generowania kodów QR w środowisku .NET. Programiści, którzy korzystali z QRCoder, znają jego wieloetapowy interfejs API obejmujący QRCodeGenerator, QRCodeData oraz oddzielną klasę renderowania, taką jak PngByteQRCode. IronQR upraszcza to do jednego wywołania QrWriter.Write().
| Funkcja | IronQR | QRCoder |
|---|---|---|
| Renderowanie wielopłatformowe | Pełna obsługa .NET 5-10 | Tylko dla systemu Windows do renderowania bitmap |
| Czytanie oparte na ML | Wykrywanie dokładności na poziomie 99,9% | Tylko generowanie, bez czytania |
| Integracja z PDF | Wbudowana obsługa stempli | Wymaga dodatkowych bibliotek |
| Wsparcie komercyjne | Wsparcie techniczne 24/5 | Tylko dla społeczności |
| Osadzanie logo | Wbudowane, automatycznie pozycjonowane | Wymagane ręczne nakładanie |
QRCoder sprawdza się dobrze do podstawowego generowania kodów w środowisku Windows. Model uczenia maszynowego IronQR zapewnia doskonałe odczytywanie kodów QR pod każdym kątem — ma to kluczowe znaczenie dla aplikacji przetwarzających zdjęcia przesłane przez użytkowników, w przypadku których nie można kontrolować jakości danych wejściowych. API oparte na jednej metodzie zmniejsza również liczbę linii kodu potrzebnych do wdrożenia działającej funkcji.
Zespoły migrujące z QRCoder powinny zapoznać się z przewodnikiem migracji z QRCoder do IronQR, zawierającym zestawienie mapowania interfejsów API.
Jak zakodować dane binarne w kodzie QR?
Oprócz tekstu IronQR obsługuje kodowanie tablic bajtów dla binarnych ładunków kodów QR. Jest to przydatne w przypadku zaszyfrowanych tokenów, obiektów serializowanych lub surowych identyfikatorów binarnych, których nie można przedstawić jako ciągów znaków UTF-8:
using IronQr;
using IronSoftware.Drawing;
// Encode binary data -- useful for encrypted payloads or binary identifiers
byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("Binary content example");
QrCode qr = QrWriter.Write(binaryData);
qr.Save().SaveAs("binary-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Encode binary data -- useful for encrypted payloads or binary identifiers
byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("Binary content example");
QrCode qr = QrWriter.Write(binaryData);
qr.Save().SaveAs("binary-qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Encode binary data -- useful for encrypted payloads or binary identifiers
Dim binaryData As Byte() = System.Text.Encoding.UTF8.GetBytes("Binary content example")
Dim qr As QrCode = QrWriter.Write(binaryData)
qr.Save().SaveAs("binary-qr.png")
Wynik

Kodowanie binarne umożliwia umieszczanie zaszyfrowanych danych, obiektów zserializowanych lub dowolnej zawartości binarnej w symbolach QR. Skaner po stronie odbiorczej musi wiedzieć, jak zinterpretować binarną zawartość — jest to powszechne w systemach kontroli dostępu, gdzie kod QR zawiera podpisany token zamiast czytelnego dla człowieka adresu URL.
Należy pamiętać, że dane binarne generują gęstsze symbole QR niż odpowiadające im dane tekstowe. Jeśli rozmiar ładunku ma wpływ na niezawodność skanowania na odległość, zastosuj korekcję błędów poziomu H i przetestuj z najmniejszą kamerą, jaką użytkownicy mogą mieć.
Jak odczytywać kody QR w języku C#?
IronQR obsługuje zarówno zapis, jak i odczyt. Klasa QrReader akceptuje pliki graficzne, mapy bitowe i klatki z kamery, dzięki czemu nadaje się zarówno do przetwarzania wsadowego, jak i skanowania w czasie rzeczywistym:
using IronQr;
using IronSoftware.Drawing;
// Load an existing image containing a QR code
var inputImage = AnyBitmap.FromFile("qr-to-read.png");
// Read all QR codes in the image
QrReadResult readResult = QrReader.Read(inputImage);
foreach (QrResult result in readResult.QrCodes)
{
// Access the decoded value
Console.WriteLine($"Decoded: {result.Value}");
}
using IronQr;
using IronSoftware.Drawing;
// Load an existing image containing a QR code
var inputImage = AnyBitmap.FromFile("qr-to-read.png");
// Read all QR codes in the image
QrReadResult readResult = QrReader.Read(inputImage);
foreach (QrResult result in readResult.QrCodes)
{
// Access the decoded value
Console.WriteLine($"Decoded: {result.Value}");
}
Imports IronQr
Imports IronSoftware.Drawing
' Load an existing image containing a QR code
Dim inputImage = AnyBitmap.FromFile("qr-to-read.png")
' Read all QR codes in the image
Dim readResult As QrReadResult = QrReader.Read(inputImage)
For Each result As QrResult In readResult.QrCodes
' Access the decoded value
Console.WriteLine($"Decoded: {result.Value}")
Next
Silnik odczytu oparty na uczeniu maszynowym przetwarza obrazy w dowolnej orientacji i radzi sobie z częściowymi uszkodzeniami do progu korekcji błędów. W przypadku scenariuszy odczytu produkcyjnego zapoznaj się z samouczkiem dotyczącym odczytu kodów QR, aby uzyskać wskazówki dotyczące postępowania z danymi wejściowymi niskiej jakości, obrazami zawierającymi wiele kodów oraz konfiguracją trybu skanowania.
Jak korzystać z IronQR w aplikacji ASP.NET Core?
Aplikacje internetowe często muszą generować kody QR na żądanie — na przykład linki do kont użytkowników, jednorazowe kody logowania lub prośby o płatność. Poniższy przykład pokazuje, jak udostępnić obraz kodu QR bezpośrednio z minimalnego punktu końcowego API .NET Core:
using IronQr;
using IronSoftware.Drawing;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
// Set license key at application startup
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
// Return a QR code PNG for a given URL parameter
app.MapGet("/qr", (string data) =>
{
QrCode qr = QrWriter.Write(data);
AnyBitmap image = qr.Save();
byte[] pngBytes = image.ExportBytes();
return Results.File(pngBytes, "image/png");
});
app.Run();
using IronQr;
using IronSoftware.Drawing;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
// Set license key at application startup
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
// Return a QR code PNG for a given URL parameter
app.MapGet("/qr", (string data) =>
{
QrCode qr = QrWriter.Write(data);
AnyBitmap image = qr.Save();
byte[] pngBytes = image.ExportBytes();
return Results.File(pngBytes, "image/png");
});
app.Run();
Imports IronQr
Imports IronSoftware.Drawing
Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()
' Set license key at application startup
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
' Return a QR code PNG for a given URL parameter
app.MapGet("/qr", Function(data As String)
Dim qr As QrCode = QrWriter.Write(data)
Dim image As AnyBitmap = qr.Save()
Dim pngBytes As Byte() = image.ExportBytes()
Return Results.File(pngBytes, "image/png")
End Function)
app.Run()
Ten wzorzec działa zarówno w minimalnych interfejsach API .NET Core, jak i standardowych kontrolerach MVC. Wywołanie ExportBytes() pozwala uniknąć zapisywania plików tymczasowych na dysku, co jest ważne w wdrożeniach kontenerowych, gdzie system plików może być tylko do odczytu lub efemeryczny.
Aby zapoznać się z pełnym przewodnikiem po integracji z ASP.NET Core, zobacz samouczek dotyczący generatora kodów QR w ASP.NET Core. Przewodnik poświęcony Blazorowi jest również dostępny w samouczku dotyczącym generatora kodów QR Blazor.
Jak dodać margines i zmienić rozmiar obrazu kodu QR?
Kontrola wymiarów i stref ciszy ma zasadnicze znaczenie dla uzyskania wydruku o wysokiej jakości. IronQR udostępnia obie funkcje poprzez QrStyleOptions, a szczegółowe informacje na ich temat można znaleźć w dedykowanych przewodnikach:
using IronQr;
using IronSoftware.Drawing;
// Specify dimensions and quiet zone for print output
var printOptions = new QrStyleOptions
{
Dimensions = 600, // High resolution for print
Margins = 20 // Generous quiet zone for reliable scanning
};
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap printImage = qr.Save(printOptions);
printImage.SaveAs("print-ready-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Specify dimensions and quiet zone for print output
var printOptions = new QrStyleOptions
{
Dimensions = 600, // High resolution for print
Margins = 20 // Generous quiet zone for reliable scanning
};
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap printImage = qr.Save(printOptions);
printImage.SaveAs("print-ready-qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Specify dimensions and quiet zone for print output
Dim printOptions As New QrStyleOptions With {
.Dimensions = 600, ' High resolution for print
.Margins = 20 ' Generous quiet zone for reliable scanning
}
Dim qr As QrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/")
Dim printImage As AnyBitmap = qr.Save(printOptions)
printImage.SaveAs("print-ready-qr.png")
Pełne wytyczne dotyczące wymiarów i marginesów dla różnych nośników wyjściowych można znaleźć w artykułach instruktażowych dotyczących zmiany rozmiaru obrazów kodów QR i dodawania marginesów do kodów QR. Przewodnik po tworzeniu obrazów QR obejmuje cały proces tworzenia obrazów, od aktywacji licencji po wygenerowanie pliku.
W przypadku konkretnych zastosowań kodów QR — w tym generowania kodów QR na wizytówki, tworzenia dynamicznego generatora kodów QR oraz odczytywania kodów QR z obrazów — dedykowane artykuły omawiają każdy scenariusz wraz z pełnymi przykładami kodu.
Jakie są Twoje kolejne kroki?
IronQR zmienia generowanie kodów QR z wieloetapowego procesu w prostą integrację z NuGet. Instalujesz pakiet, wywołujesz QrWriter.Write() i zapisujesz wynik — trzy operacje, które obejmują większość rzeczywistych scenariuszy. Poziomy korekcji błędów, niestandardowe formatowanie, stemplowanie plików PDF oraz czytanie oparte na uczeniu maszynowym są dostępne w ramach tej samej biblioteki.
Dokumentacja IronQR zawiera kompletny opis API, w tym zaawansowane tematy, takie jak odczytywanie kodów QR z trybami skanowania, przetwarzanie wsadowe oraz uwagi dotyczące wdrażania na konkretnych platformach. Sekcja samouczków IronQR zawiera przewodniki krok po kroku dotyczące .NET MAUI, VB.NET i aplikacji konsolowych.
Rozpocznij bezpłatny okres próbny, aby bez ograniczeń zapoznać się z pełnym zestawem funkcji, lub zakup licencję na wdrożenie produkcyjne z całodobowym wsparciem technicznym.
Często Zadawane Pytania
Jak zainstalować pakiet NuGet IronQR?
Uruchom dotnet add package IronQR w terminalu lub otwórz konsolę Menedżera Pakietów NuGet w Visual Studio i uruchom Install-Package IronQR. Pakiet obsługuje .NET Framework 4.6.2+, .NET Core 2.0+ oraz .NET 5-10.
Jak wygenerować kod QR w C# za pomocą IronQR?
Wywołaj QrWriter.Write("your-data") aby utworzyć obiekt QrCode, następnie wywołaj .Save() aby uzyskać AnyBitmap, a na koniec wywołaj .SaveAs("output.png") aby zapisać plik.
Jakie formaty wyjściowe obsługuje IronQR dla kodów QR?
IronQR obsługuje PNG, JPEG, GIF, TIFF, BMP i SVG. Metoda SaveAs automatycznie wykrywa format z rozszerzenia pliku. Użyj ExportBytes() aby uzyskać tablicę bajtów do odpowiedzi HTTP lub przechowywania w bazie danych.
Jak dostosować kolor i rozmiar kodu QR za pomocą IronQR?
Utwórz obiekt QrStyleOptions i ustaw Dimensions (piksele), Margins (cicha strefa w pikselach), Color i BackgroundColor. Przekaż to do qr.Save(styleOptions).
Jakie poziomy korekcji błędów obsługuje IronQR?
IronQR obsługuje wszystkie cztery poziomy ISO/IEC 18004 za pomocą QrErrorCorrectionLevel: L (~7% odzysku), M (~15%, domyślny), Q (~25%) i H (~30%). Przekaż poziom w obiekcie QrOptions do QrWriter.Write().
Jak IronQR porównuje się z QRCoder dla .NET?
IronQR zapewnia rendering kompatybilny z wieloma platformami na .NET 5-10 (QRCoder rendering bitmap jest tylko na Windows), wbudowane czytanie ML (QRCoder tylko generuje), natywne stamping PDF i API jednofunkcyjne. QRCoder to darmowa, o otwartym kodzie źródłowym opcja dla prostego generowania na Windows.
Czy można użyć IronQR do czytania kodów QR z obrazów?
Tak. Użyj QrReader.Read(AnyBitmap.FromFile("path")) aby zeskanować obraz. Silnik oparty na ML obsługuje dowolną orientację i częściowe uszkodzenia. Iteruj readResult.QrCodes aby uzyskać każdą zdekodowaną result.Value.
Jak generować kody QR w aplikacji ASP.NET Core?
Wywołaj QrWriter.Write(data) w kontrolerze lub handlerze minimalnego API, następnie wywołaj image.ExportBytes() i zwróc tablicę bajtów jako odpowiedź Results.File(pngBytes, "image/png"). Nie potrzebujesz plików tymczasowych.



