Altbilgi içeriğine atla
IRONQR KULLANıMı

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.

NuGet NuGet ile Yükle

PM >  Install-Package IronQR

IronQR üzerine NuGet için hızlı bir kurulum kontrol edin. 10 milyondan fazla indirme ile C# ile PDF geliştirmesini dönüştürüyor. DLL de indirebilirsiniz.

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
$vbLabelText   $csharpLabel

Giriş QR Kodu

QR Code Generator .NET Core: Sadece birkaç satır kodla QR Kodlarını Oku ve Üret: Görüntü 1 - Giriş QR Kodu

Çıktı

QR Code Generator .NET Core: Sadece birkaç satır kodla QR Kodlarını Oku ve Üret: Görüntü 2 - Örnek QR Kod tarama çıktısı

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
$vbLabelText   $csharpLabel

Giriş QR

QR Code Generator .NET Core: Sadece birkaç satır kodla QR Kodlarını Oku ve Üret: Görüntü 3 - Giriş QR Kodu

Gelişmiş QR Okuma Sonuçları

QR Code Generator .NET Core: Sadece birkaç satır kodla QR Kodlarını Oku ve Üret: Görüntü 4 - Gelişmiş QR veri çıkarım 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
$vbLabelText   $csharpLabel

Çıktı

QR Code Generator .NET Core: Sadece birkaç satır kodla QR Kodlarını Oku ve Üret: Görüntü 5 - Yüksek hata düzeltme seviyesine sahip üretilmiş QR Kodu

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")
$vbLabelText   $csharpLabel

QR Kod Çıkışı

QR Code Generator .NET Core: Sadece birkaç satır kodla QR Kodlarını Oku ve Üret: Görüntü 6 - Çıktı QR Kodu

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.")
$vbLabelText   $csharpLabel

Oluşturulan QR Kodu

QR Code Generator .NET Core: Sadece birkaç satır kodla QR Kodlarını Oku ve Üret: Görüntü 7 - Bir URL'den oluşturulmuş 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")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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:

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` dondurur.

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.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara