QR Kodu .NET Core: C#'ta QR Kodları Okuyun ve Oluşturun
.NET Core üzerinde web veya kurumsal uygulamalar inşa ederken, envanter takibi, ödeme akışları veya iki faktörlü kimlik doğrulama için QR kod desteği sık bir gereksinimdir. Düşük seviyeli kodlama algoritmaları üzerinde geliştirme süreleri harcamak yerine, tüm iş akışını ele alan özel bir kütüphaneye ulaşabilirsiniz. IronQR, ilkelerinden ileri düzey hata düzeltmeye ve ML destekli okumaya kadar her şeyi kapsayan tam bir QR kodu çözücüsüdür.
Kendiniz denemeye hazır mısınız? Bugün ücretsiz deneme sürümünüzü başlatın ve projenize QR işlevselliğini ne kadar hızlı ekleyebileceğinizi görün.
QR Kodu Kütüphanesi Nasıl Yüklenir?
NuGet üzerinden IronQR yüklemek sadece saniyeler sürer. Visual Studio'yu açın, Tools > NuGet Package Manager > Manage NuGet Packages for Solution bölümüne gidin, IronQR arayın ve Install'a tıklayın. Paket, minimum bağımlılıklarla gelir ve kutudan çıkar çıkmaz Windows, macOS ve Linux'u hedefler.
Install-Package IronQR
IronQR, .NET Core 6, 7, 8, 9 ve 10'un yanı sıra .NET Framework 4.6.2 ve üzeri ile uyumludur. Çapraz platform projeleri için, SkiaSharp entegrasyonu, Windows dışı çalıştırma zamanlarında görüntü işlemesini ele alır. Kütüphane, ASP.NET Core web uygulamaları, konsol uygulamaları ve masaüstü çözümleri ile ek çalışma zamanı yapılandırması olmadan çalışır. Kurulum tamamlandığında, gerekli tüm uzantı metotları ve türleri hemen kullanılabilir hale gelir.
Görüntüden Temel Bir QR Kodu Nasıl Okunur?
Görüntü dosyalarından QR kodu verilerini okuma, sadece birkaç satır kod gerektirir. QrReader sınıfı, görüntü kalitesini değerlendiren ve doğru segment modunu otomatik olarak seçen gelişmiş bir makine öğrenme modeli kullanır, bu sayede giriş görüntüsü ideal olmasa bile size kesin sonuçlar verir.
using IronQr;
using IronSoftware.Drawing;
// Load image containing QR code
var inputBmp = AnyBitmap.FromFile("qr-sample.png");
// Create QrImageInput from the bitmap
QrImageInput imageInput = new QrImageInput(inputBmp);
// Initialize QR Reader with ML model
QrReader reader = new QrReader();
// Read and decode all QR codes in the image
IEnumerable<QrResult> results = reader.Read(imageInput);
// Output decoded text strings
foreach (var qrCode in results)
{
Console.WriteLine($"QR Code Value: {qrCode.Value}");
Console.WriteLine($"URL: {qrCode.Url}");
}
using IronQr;
using IronSoftware.Drawing;
// Load image containing QR code
var inputBmp = AnyBitmap.FromFile("qr-sample.png");
// Create QrImageInput from the bitmap
QrImageInput imageInput = new QrImageInput(inputBmp);
// Initialize QR Reader with ML model
QrReader reader = new QrReader();
// Read and decode all QR codes in the image
IEnumerable<QrResult> results = reader.Read(imageInput);
// Output decoded text strings
foreach (var qrCode in results)
{
Console.WriteLine($"QR Code Value: {qrCode.Value}");
Console.WriteLine($"URL: {qrCode.Url}");
}
Imports IronQr
Imports IronSoftware.Drawing
' Load image containing QR code
Dim inputBmp = AnyBitmap.FromFile("qr-sample.png")
' Create QrImageInput from the bitmap
Dim imageInput As New QrImageInput(inputBmp)
' Initialize QR Reader with ML model
Dim reader As New QrReader()
' Read and decode all QR codes in the image
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Output decoded text strings
For Each qrCode In results
Console.WriteLine($"QR Code Value: {qrCode.Value}")
Console.WriteLine($"URL: {qrCode.Url}")
Next
Giriş QR Kodu

Çıktı

QrReader.Read() metodu, QrImageInput işleyip, her sonuç kodlanmış metin, kodlanmışsa bir URL ve görüntüdeki QR sembolünün mekansal konumunu taşıyan bir IEnumerable<QrResult> döner. Kütüphane, bayt dizileri, dosya yolları ve AnyBitmap nesnelerini kabul eder, bu size diskten, bir veritabanından veya canlı bir kamera akışından okurken projeleriniz için esneklik sağlar.
Okuyucunun temelini oluşturan ML modeli, IronQR'u tamamen algoritmik kütüphanelerden ayırır. Hareket bulanıklığı, kısmi örtüşme ve düzensiz aydınlatma gibi gerçek dünya kusurlarını ele alır ve manuel ön işleme veya eşik ayarlamayı gerektirmez.
Gelişmiş QR Kodu Verileri Nasıl Çıkarılır?
Temel değer çözümlemesinin ötesinde, IronQR, taranan her sembolden koordinatlar, ham veri segmentleri ve modül düzeyinde bilgi sunar. Bu, bir QR kodunun sayfada tam olarak nerede göründüğünü bilmenizin gerektiği doküman işleme iş akışları veya tek bir resimde birden fazla kodu ele alması gereken uygulamalar için esastır.
using IronQr;
using IronSoftware.Drawing;
var inputBmp = AnyBitmap.FromFile("document-with-qr.png");
QrImageInput imageInput = new QrImageInput(inputBmp);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
foreach (var qrCode in results)
{
// Access decoded value
Console.WriteLine($"Data: {qrCode.Value}");
// Get corner coordinate positions
foreach (PointF point in qrCode.Points)
{
Console.WriteLine($"Position: {point.X}, {point.Y}");
}
}
using IronQr;
using IronSoftware.Drawing;
var inputBmp = AnyBitmap.FromFile("document-with-qr.png");
QrImageInput imageInput = new QrImageInput(inputBmp);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
foreach (var qrCode in results)
{
// Access decoded value
Console.WriteLine($"Data: {qrCode.Value}");
// Get corner coordinate positions
foreach (PointF point in qrCode.Points)
{
Console.WriteLine($"Position: {point.X}, {point.Y}");
}
}
Imports IronQr
Imports IronSoftware.Drawing
Dim inputBmp = AnyBitmap.FromFile("document-with-qr.png")
Dim imageInput As New QrImageInput(inputBmp)
Dim reader As New QrReader()
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
For Each qrCode In results
' Access decoded value
Console.WriteLine($"Data: {qrCode.Value}")
' Get corner coordinate positions
For Each point As PointF In qrCode.Points
Console.WriteLine($"Position: {point.X}, {point.Y}")
Next
Next
Giriş QR

Gelişmiş QR Okuma Sonuçları

QrResult.Points koleksiyonu, algılanan QR sembolünün piksel uzayındaki dört köşe koordinatını içerir. Uygulamanız bu verileri belge görüntülerine sınır kutuları bindirmek, QR bölgesini daha fazla işlem için kırpmak veya fiziksel koordinatları mantıksal belge pozisyonlarına haritalayan bir alt sistem olan bir alt sistem sistemine konum verilerini iletmek için kullanabilir.
IronQR, özel gömülü logolar, hasarlı modüller veya düşük çözünürlüklü giriş içeren kodları aynı ML boru hattından geçirir. Kütüphane ayrı bir ön işleme adımı gerektirmez -- tespit ve kod çözme tek bir Read() çağrısında gerçekleşir.
Hata Düzeltme Seviyeleri QR Kodu Kalitesini Nasıl Etkiler?
Hata düzeltme, bir QR tarayıcısının, kodun bir kısmı kapalı olduğunda, kötü basıldığında veya fiziksel olarak hasar gördüğünde bile orijinal verileri kurtarması mekanizmasıdır. QR Code standard dört seviye tanımlar -- Düşük (L), Orta (M), Çeyreklik (Q) ve Yüksek (H) -- her biri saklama kapasitesi ile hasar toleransı arasında takas yapar.
| Seviye | Kurtarma Kapasitesi | En İyi Kullanım |
|---|---|---|
| L | ~%7 | Temiz dijital ekranlar, maksimum veri yoğunluğu |
| M | ~%15 | Genel baskı uygulamaları |
| Q | ~%25 | Endüstriyel etiketler, orta aşınma bekleniyor |
| H | ~%30 | Gömülü logolar, açık havada veya yoğun aşınma yüzeylerinde |
QR kodları oluştururken, daha yüksek bir hata düzeltme seviyesi belirlemek, çıktının gerçek tarama koşullarında dayanmasını garanti eder:
using IronQr;
using IronSoftware.Drawing;
// Configure QR options with high error correction
var qrOptions = new QrOptions(QrErrorCorrectionLevel.High, 20);
// Generate a QR code with specified error correction
QrCode myQr = QrWriter.Write("https://ironsoftware.com", qrOptions);
// Save as PNG image
AnyBitmap qrImage = myQr.Save();
qrImage.SaveAs("high-error-correction-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Configure QR options with high error correction
var qrOptions = new QrOptions(QrErrorCorrectionLevel.High, 20);
// Generate a QR code with specified error correction
QrCode myQr = QrWriter.Write("https://ironsoftware.com", qrOptions);
// Save as PNG image
AnyBitmap qrImage = myQr.Save();
qrImage.SaveAs("high-error-correction-qr.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
Çıktı

QrOptions yapıcısı, hata düzeltme seviyesi ve maksimum sürüm numarasını kabul eder. 40. versiyon kodları 7.089 sayısal karakter saklayabilirken, 1. versiyon kodları sadece 41 saklar. Daha düşük bir maksimum sürüm belirlemek, bir toplu işlemin genelinde tutarlı fiziksel boyutlara ihtiyaçınız olduğunda, çıkış boyutunu sınırlamaya yarar. Hata düzeltme seviyesi ne kadar yüksekse, o kadar fazla modül yedeklenir, bu da belirli bir sürümdeki net veri kapasitesini azaltır.
Hata toleransı özelliği IronQR'da bu özellik ile birlikte okur -- daha yüksek düzeltme seviyelerinde üretilen kodları okurken, kütüphane tamamen başarısız olacak kodlardan algoritmik kod çözücü ile kurtulur.
Uluslararası Karakterlerle QR Kodlarını Nasıl Üretirsiniz?
IronQR, numaralar, alfanumerik, bayt ve Kanji dahil olmak üzere QR kodlama modlarının tam yelpazesini destekler. Japon metni ve diğer Unicode içeriği için, kütüphane en verimli kodlamayı otomatik olarak seçer:
using IronQr;
using IronSoftware.Drawing;
// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
// The library selects Kanji mode automatically
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
// The library selects Kanji mode automatically
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Generate QR that encodes Japanese Unicode text
Dim japaneseQr As QrCode = QrWriter.Write("こんにちは世界")
' The library selects Kanji mode automatically
Dim qrImage As AnyBitmap = japaneseQr.Save()
qrImage.SaveAs("japanese-qr.png")
QR Kod Çıkışı

Kanji kodlaması, modül başına iki bayt paketlerken, bu aynı sürümdeki Japonca QR kodunun, UTF-8 bayt modu eşdeğerinden önemli ölçüde fazla karakter saklamasına olanak tanır. Karışık içeriklerde -- Japonca metnin ardından bir URL gibi -- IronQR girdiyi parçalara ayırır ve her parçayı en uygun modda kodlar. Parça sınırlarını belirtmenize veya kodlama yardımcılarını manuel olarak çağırmanıza gerek yoktur; kodlama boru hattı bunu sizin için yapar.
Bu otomatik seçim, kullanıldıklarını bildiren ECI (Genişletilmiş Kanal Yorumları) işaretlerini de kapsar. Uluslararası pazarları hedefleyen uygulamalar, herhangi bir Unicode dizgisini ayrı bir yapılandırmaya ihtiyaç duymadan doğrudan QrWriter.Write() aktarabilir.
Yapılandırılmış QR Verileri İçin Yük Üreticilerini Nasıl Kullanırsınız?
Sadece bir URL kodlayan bir QR kodu, basit bağlantı paylaşımı için iş görür, ancak birçok uygulama yapılandırılmış verileri -- WiFi kimlik bilgileri, vCard formatında kişi kartları, veya olay verileri -- kodlamayı gerektirir. Bu yükleri elle biçimlendirmek hataya açıktır; eksik bir noktalı virgül veya yanlış alan sırası, tarayıcıların veriyi yanlış yorumlamasına neden olacaktır.
IronQR, bu yapılandırılmış dizeleri doğru bir şekilde oluşturan yük yardımcılarını sağlar:
using IronQr;
using IronSoftware.Drawing;
// Generate QR code with URL payload
var urlQrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
// Save QR as PNG image file
AnyBitmap qrImage = urlQrCode.Save();
qrImage.SaveAs("url-qr-code.png");
Console.WriteLine("QR code generated successfully.");
using IronQr;
using IronSoftware.Drawing;
// Generate QR code with URL payload
var urlQrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
// Save QR as PNG image file
AnyBitmap qrImage = urlQrCode.Save();
qrImage.SaveAs("url-qr-code.png");
Console.WriteLine("QR code generated successfully.");
Imports IronQr
Imports IronSoftware.Drawing
' Generate QR code with URL payload
Dim urlQrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/")
' Save QR as PNG image file
Dim qrImage As AnyBitmap = urlQrCode.Save()
qrImage.SaveAs("url-qr-code.png")
Console.WriteLine("QR code generated successfully.")
Oluşturulan QR Kodu

QrWriter.Write() yöntemi, ya bir düz metin dizesini ya da yapılandırılmış bir taşıyıcı nesneyi kabul eder. WiFi ağları için, yük, Android ve iOS tarayıcılarının tanıdığı formatta SSID, parola ve güvenlik türünü kodlar. İletişim bilgileri için çıktı, çoğu mobil QR okuyucu tarafından kullanılan MeCard standardını uygular. üretilen özelliği sayfası, tüm desteklenen yük türlerini ve gerekli alanlarını belgeler.
Kütüphane, yapılandırılabilir piksel boyutlarında görüntüler üretir. Üretim kullanımında, tipik bir akıllı telefon mesafesinden güvenilir taramayı sağlamak için asgari 200x200 pikselde kodlar üretmek gereklidir. Daha büyük boyutlar, tarama mesafesinin bir metreyi aştığı açık hava veya basılı uygulamalarda fayda sağlar.
QR Kodu Görünümünü Nasıl Özelleştirirsiniz?
IronQR, üretilen kodların görsel görünümünü kontrol etmenizi sağlar; taranabilirliği feda etmez. Ön ve arka plan renklerini değiştirebilir, özel markalama uygulayabilir veya ortadaki sessiz alana bir logo gömebilirsiniz.
using IronQr;
using IronSoftware.Drawing;
// Define custom colors for the QR code
var darkColor = Color.FromArgb(30, 30, 120); // Deep navy foreground
var lightColor = Color.White;
var options = new QrOptions(QrErrorCorrectionLevel.High, maxVersion: 20)
{
BackgroundColor = lightColor,
Color = darkColor,
// Embed a logo image into the QR center
Logo = AnyBitmap.FromFile("logo.png")
};
QrCode styledQr = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options);
AnyBitmap output = styledQr.Save();
output.SaveAs("branded-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Define custom colors for the QR code
var darkColor = Color.FromArgb(30, 30, 120); // Deep navy foreground
var lightColor = Color.White;
var options = new QrOptions(QrErrorCorrectionLevel.High, maxVersion: 20)
{
BackgroundColor = lightColor,
Color = darkColor,
// Embed a logo image into the QR center
Logo = AnyBitmap.FromFile("logo.png")
};
QrCode styledQr = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options);
AnyBitmap output = styledQr.Save();
output.SaveAs("branded-qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Define custom colors for the QR code
Dim darkColor As Color = Color.FromArgb(30, 30, 120) ' Deep navy foreground
Dim lightColor As Color = Color.White
Dim options As New QrOptions(QrErrorCorrectionLevel.High, maxVersion:=20) With {
.BackgroundColor = lightColor,
.Color = darkColor,
' Embed a logo image into the QR center
.Logo = AnyBitmap.FromFile("logo.png")
}
Dim styledQr As QrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options)
Dim output As AnyBitmap = styledQr.Save()
output.SaveAs("branded-qr.png")
Bir logo gömmek etkili veri alanını azaltır, bu nedenle kütüphane, logo sağlandığındaHdüzeltme seviyesini gerektirir. Ortadaki ayrılan sessiz alan, kod yüzeyinin yaklaşık %30'unu kapsar, bu daHseviyesinin kurtarma kapasitesine uygundur. Kütüphane bu kısıtlamayı otomatik olarak uygular -- bir logo ile daha düşük bir hata düzeltme seviyesi ayarlarsanız, IronQR, hatalı bir şekilde taranan bir kod üretmek yerine açıklayıcı bir mesaj ile bir istisna yükseltir.
ASP.NET Core uygulamaları için, üretilmiş QR kodlarını bir denetleyici eyleminden görüntü yanıtları olarak sunmayı gösteren ASP.NET Core QR kodu üretici eğitimi bulunmaktadır. Çıktı akışı, yüksek trafikli uç noktalar için gecikmeyi düşük tutarak, doğrudan yanıt dosyasına yazar.
ASP.NET Core Uygulamasında QR Kodlarını Nasıl Okursunuz?
Sunucu tarafında QR kodlarını tarama -- yüklenen görüntülerden, doküman işleme boru hatları ya da otomatik denetleme sistemlerinden -- okuma API'si için yaygın bir kullanım durumudur. ASP.NET QR kodu tarayıcı kılavuzu tam denetleyici ve hizmet kurulumunu kapsar, ancak temel okuma deseni bir konsol uygulaması ile aynıdır:
using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/qr")]
public class QrScanController : ControllerBase
{
[HttpPost("scan")]
public IActionResult Scan(IFormFile imageFile)
{
using var stream = imageFile.OpenReadStream();
var bitmap = AnyBitmap.FromStream(stream);
var imageInput = new QrImageInput(bitmap);
var reader = new QrReader();
var results = reader.Read(imageInput);
var decoded = results.Select(r => new { r.Value, r.Url }).ToList();
return Ok(decoded);
}
}
using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/qr")]
public class QrScanController : ControllerBase
{
[HttpPost("scan")]
public IActionResult Scan(IFormFile imageFile)
{
using var stream = imageFile.OpenReadStream();
var bitmap = AnyBitmap.FromStream(stream);
var imageInput = new QrImageInput(bitmap);
var reader = new QrReader();
var results = reader.Read(imageInput);
var decoded = results.Select(r => new { r.Value, r.Url }).ToList();
return Ok(decoded);
}
}
Imports IronQr
Imports IronSoftware.Drawing
Imports Microsoft.AspNetCore.Mvc
<ApiController>
<Route("api/qr")>
Public Class QrScanController
Inherits ControllerBase
<HttpPost("scan")>
Public Function Scan(imageFile As IFormFile) As IActionResult
Using stream = imageFile.OpenReadStream()
Dim bitmap = AnyBitmap.FromStream(stream)
Dim imageInput = New QrImageInput(bitmap)
Dim reader = New QrReader()
Dim results = reader.Read(imageInput)
Dim decoded = results.Select(Function(r) New With {Key .Value = r.Value, Key .Url = r.Url}).ToList()
Return Ok(decoded)
End Using
End Function
End Class
AnyBitmap.FromStream() yöntemi herhangi bir okunabilir akışı kabul eder, bu nedenle form yoluyla yüklenen dosyalar, blob depolamadan alınan görüntüler veya bir video hattından çıkarılan kareler için aynı kod yolu kullanılır. Kontrolör, dosya sistemi salt okunur olabileceği kapsayıcı dağıtımlarında disk üzerinde herhangi bir geçici dosya yazmaz.
Yüksek verim senaryoları için, uygulama ömrü başına QrReader'yi bir kere yaratarak singleton olarak başlatın, çünkü ML model yükleme maliyeti ilk yapımda ödenir. Aynı nesne üzerinde yapılan sonraki Read() çağrıları, yüklü modeli paylaşarak, iş parçacığı açısından güvenlidir.
Bir .NET MAUI Uygulamasında QR Kodlarını Nasıl Üretirsiniz?
.NET MAUI QR kodu eğitimi, iOS, Android, macOS ve Windows üzerinde tam çapraz platform üretimini gösterir. IronQR, tüm MAUI hedeflerinde tutarlı çıktı sağlayarak, Windows dışındaki platformlarda çalışırken SkiaSharp renderleme arka planını kullanır.
using IronQr;
using IronSoftware.Drawing;
// Generate QR and convert to a byte array for display in MAUI
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap bitmap = qr.Save();
byte[] imageBytes = bitmap.ExportBytes();
// Bind imageBytes to an <Image Source> in your MAUI page
using IronQr;
using IronSoftware.Drawing;
// Generate QR and convert to a byte array for display in MAUI
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap bitmap = qr.Save();
byte[] imageBytes = bitmap.ExportBytes();
// Bind imageBytes to an <Image Source> in your MAUI page
Imports IronQr
Imports IronSoftware.Drawing
' Generate QR and convert to a byte array for display in MAUI
Dim qr As QrCode = QrWriter.Write("https://ironsoftware.com/csharp/qr/")
Dim bitmap As AnyBitmap = qr.Save()
Dim imageBytes As Byte() = bitmap.ExportBytes()
' Bind imageBytes to an <Image Source> in your MAUI page
Mobil hedeflerde, ExportBytes() doğrudan bir StreamImageSource'e aktarabileceğiniz veya bir ImageButton'ye yazabileceğiniz bir PNG bayt dizisi döner. MAUI iskeleti, platforma özgü kod yolları gerektirmez -- tüm dört MAUI hedefinde aynı üretim mantığı aynı şekilde çalışır.
VB.NET projeleri için API yüzeyi aynıdır; sadece sözdizimi farklıdır. Kütüphane, ayrı bir VB.NET derlemesi gerektirmeyen tek bir NuGet paketi teslim eder.
Sıradaki Adımlarınız Neler?
IronQR, .NET'teki tam QR kod döngüsünü kapsar -- temel üretimden yapılandırılmış yük kodlamasına kadar hasarlı veya markalı kodların ML destekli okunmasına kadar. Kütüphane, Kanji kodlama, hata düzeltme yapılandırması ve çapraz-platform görüntü çıkışını ele alır, böylece sadece uygulamanıza özel olan mantığa odaklanabilirsiniz.
Ne öğrendiğinizi uygulamaya koymak için:
- Okuma API'si ve sonuç işlemesine daha derin bir bakış için C# QR kod okuyucu eğitimi'ni inceleyin.
- Tam proje yürüyüşü için C# QR kodu üretici uygulama eğitimini çalışın.
- Kod örneklerini inceleyerek ek üretim ve okuma modellerini görebilirsiniz.
- IronQR lisansı satın alın veya daha fazla değerlendirme süresine ihtiyaçınız varsa ücretsiz denemeyi uzatın.
Sıkça Sorulan Sorular
IronQR hangi .NET sürümlerini destekler?
IronQR, .NET Core 6, 7, 8, 9 ve 10, ayrica .NET Framework 4.6.2 ve sonraki sürümlerini destekler. Xamarin, .NET MAUI, Blazor ve ASP.NET Core projeleriyle uyumlu hale getiren .NET Standard 2.0+ hedefler.
Bir resim dosyasindan C#'da QR kodunu nasil okursunuz?
Resmi `AnyBitmap.FromFile()` kullanarak yukleyin, bir `QrImageInput`'a gonderin, ve sonra `QrReader.Read()` cagirin. Yöntem, dekodlanan deger, URL ve koselerin koordinatlarini iceren her sonucun bulundugu bir `IEnumerable
QR kodu hata düzeltme seviyeleri nelerdir?
Dort seviye vardir: Dusuk (L, ~%7 kurtarma), Orta (M, ~%15), Dörtlü (Q, ~%25) ve Yüksek (H, ~%30). Daha yüksek seviyeler, net veri kapasitesini azaltan ancak hasar gormus veya kismen gizlenmis kodlardaki tarama güvenilirligini artiran yedek moduller ekler.
IronQR, logo iceren veya kismen hasar gormus QR kodlarini okuyabilir mi?
Evet. IronQR'deki ML destekli algilama modeli, kismen hasar gormus kodlari, gokler logosunu, hareket bulanıkligini ve dusuk cozunurluklu girdileri, elle on işleme gerektirmeden yönetir.
IronQR ile QR koduna nasıl logo eklenir?
`QrOptions` nesnesi üzerinde bir `AnyBitmap` imgeminizin logosunu ayarlayın ve hata düzeltme seviyesini Yüksek olarak ayarlayın. IronQR bu kisitlamayi otomatik olarak uygular cunku merkezlenmis logo, kod yuzeyinin yaklasik olarak %30'unu kaplar.
IronQR Japonca ve diğer Unicode karakterleri destekliyor mu?
Evet. `QrWriter.Write()`'a herhangi bir Unicode dizesi gonderin ve kütüphane Japonca karakterler için otomatik olarak Kanji modunu veya diğer Unicode icerigi için ECI isaretcileriyle birlikte byte modunu secer.
ASP.NET Core uygulamasında QR kodlari nasil uretilir?
`AnyBitmap.FromStream()` koda yuklenen imgeleri okumak için ve `QrWriter.Write()` kullanarak kodlari uretmek için kullanın. Çıktıyı MIME turu `image/png` ile bir `FileContentResult` olarak dondurun. ML model yukleme maliyetini amortize etmek için `QrReader`'i bir singleton olarak kurun.
IronQR çok platformlu mu?
Evet. IronQR, Windows disi platformlarda bir SkiaSharp render etme altyapisi kullanarak macOS, Linux, iOS ve Android'de tutarli QR oluşturma ve okuma saglar.



