Altbilgi içeriğine atla
IRONBARCODE KULLANARAK

IronBarcode ile C# içinde QR Kodları Nasıl Oluşturulur

IronBarcode, QRCodeWriter sınıfını kullanarak .NET geliştiricilerin verimli bir şekilde QR kodları oluşturmasını sağlar. Özel logolar, renkler, birden fazla çıktı formatı ve Windows, Linux, macOS ve mobil dahil olmak üzere çapraz platform dağıtımı desteklenir.

Bu kılavuz, üretim sistemleri için QR kodları oluşturmak amacıyla IronBarcode kullanmayı göstermektedir. IronBarcode'un API'si, .NET konvansiyonlarına uygun olarak Enterprise uygulamaları için gerekli performansı ve güvenilirliği sağlar. Kütüphane, tam belgeler sunar ve Windows, Linux, macOS ve mobil platformlarda dağıtım desteği sağlar. Tüm yeteneklerin tam bir özetini görmek için, özellikler sayfasını inceleyin. barkod hızlı başlangıç kılavuzu sizi başlatmak için anında uygulamalı örnekler sağlar.

IronBarcode Kullanarak QR Kod Oluşturmanın Faydaları Nelerdir?

IronBarcode'u Diğer Kütüphanelere Neden Tercih Etmelisiniz?

IronBarcode ile QR Kodları Nasıl Oluştururum?

Aşağıdaki bölümler SOLID prensiplerini takip eden üretime hazır kodu göstermektedir. Çeşitli QR kodu türleri oluşturmayı, özel stil uygulamayı ve güvenilir tarama performansını sağlamayı öğreneceksiniz. Kütüphanenin özellikleri, QR kodlarının ötesinde 1D ve 2D barkodlar için destek içerir. Gelişmiş senaryolar için, tam metod imzaları için API referansını inceleyin. IronBarcode'un yeteneklerini eylem halinde görmek için demoları keşfedin.

Yeni Bir Projeyi Nasıl Kurarım?

Visual Studio'yu açın ve Dosya Menüsünden Yeni Proje'yi seçin. Kurumsal dağıtımlar için otomatik kurulumlar için MSI yükleyici kılavuzunu incelemeyi düşünün. Başlangıç kılavuzu tam kurulum talimatlarını sağlar.

Console App şablonunu seçin ve İleri'yi tıklayın.

Tercih ettiğiniz proje adını (örneğin QR Code Generator) girin ve konumu belirtin. İleri yi tıklayın.

.NET sürümünü açılır listeden seçin (.NET 6.0 (Uzun dönem destek)) ve Oluştur'u tıklayın. IronBarcode, uyumluluk belgelerinde ayrıntılı olarak belirtilen tüm modern .NET sürümlerini destekler. Özel platform gereksinimleri için, Blazor entegrasyonu için kılavuza bakın.

Hangi Kurulum Yöntemleri Mevcut?

IronBarcode'u farklı iş akışlarına uygun dört yöntemden biriyle yükleyin. Kütüphanenin canlı demoları, gerçek zamanlı barkod tanıma yeteneklerini gösterir. Hızlı test için barkod hızlı başlatma örneğini keşfedin.

Visual Studio'nun Paket Yöneticisi UI'sını Kullanarak Nasıl Yüklerim?

Araçlar > NuGet Paket Yöneticisi > Çözüm için NuGet Paketlerini Yönet... e gidin

Veya Çözüm Gezgini'nde projenize sağ tıklayın ve NuGet Paketlerini Yönet... seçin

Gözat'ı tıklayın, Barcode arayın, IronBarcode seçin, projenizi seçin ve Yükle'yi tıklayın. Platforma özel kurulumlar için, NuGet paketleri kılavuzunu inceleyin. Sorun yaşarsanız, NuGet sorun giderme kılavuzuna başvurun. Kütüphane, AWS Lambda ve Azure Fonksiyonları dahil çeşitli dağıtım senaryolarını destekler.

Paket Yöneticisi Konsolunu Kullanarak Nasıl Yüklerim?

Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu açın ve şunu çalıştırın:

Install-Package BarCode

Bu, kütüphaneyi mevcut projenize yükler. Kapsayıcılı dağıtımlar için Docker kurulum kılavuzuna uyun. Lisans anahtarları kullanırken, dağıtım ortamınız için doğru yapılandırmayı sağlayın.

NuGet veya IronBarcode Web Sitesinden Nasıl İndiririm?

En son .NET barkod DLL'sini elde etmek için NuGet Galeri web sitesinden veya IronBarcode'un ana sayfasını ziyarete edin. DLL'inizi Çözüm Gezgini'nde Referans Ekle yoluyla projenize ekleyin. DLL sorunları için eksik DLL kılavuzuna bakın. Çalışma zamanı sorunlarıyla karşılaştığınızda, çalışma zamanı kopya istisna kılavuzunu inceleyin.

QR Kod Görsellerini Nasıl Oluşturur ve Özelleştiririm?

Temel Bir QR Kod Nasıl Oluştururum?

CreateQrCode yöntemini kullanarak QRCodeWriter sınıfından QR kodlar oluşturun. Tam bir örnek için C# QR kodu oluşturucu öğreticisine bakın. Kütüphane, çeşitli formatlarda barkod görüntüleri oluşturma desteği sağlar:

using IronBarCode;

// Basic QR code generation with medium error correction
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");

// Generate QR code with automatic sizing and highest error correction
var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example");
autoQr.SaveAsJpeg("AutoQR.jpg");

// Production-ready QR code with validation
public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600)
{
    if (string.IsNullOrWhiteSpace(data))
        throw new ArgumentException("Data cannot be empty");

    if (data.Length > 2953) // QR Code capacity at highest error correction
        throw new ArgumentException("Data exceeds QR code capacity");

    var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.VerifyQrCode(); // Verify the generated code is valid
    return qr;
}
using IronBarCode;

// Basic QR code generation with medium error correction
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");

// Generate QR code with automatic sizing and highest error correction
var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example");
autoQr.SaveAsJpeg("AutoQR.jpg");

// Production-ready QR code with validation
public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600)
{
    if (string.IsNullOrWhiteSpace(data))
        throw new ArgumentException("Data cannot be empty");

    if (data.Length > 2953) // QR Code capacity at highest error correction
        throw new ArgumentException("Data exceeds QR code capacity");

    var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.VerifyQrCode(); // Verify the generated code is valid
    return qr;
}
Imports IronBarCode

' Basic QR code generation with medium error correction
Dim qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0)
qrCode.SaveAsPng("MyQR.png")

' Generate QR code with automatic sizing and highest error correction
Dim autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example")
autoQr.SaveAsJpeg("AutoQR.jpg")

' Production-ready QR code with validation
Public Function CreateValidatedQrCode(data As String, Optional size As Integer = 600) As GeneratedBarcode
    If String.IsNullOrWhiteSpace(data) Then
        Throw New ArgumentException("Data cannot be empty")
    End If

    If data.Length > 2953 Then ' QR Code capacity at highest error correction
        Throw New ArgumentException("Data exceeds QR code capacity")
    End If

    Dim qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High)
    qr.VerifyQrCode() ' Verify the generated code is valid
    Return qr
End Function
$vbLabelText   $csharpLabel

CreateQrCode yöntemi şunları kabul eder:

  • Gerekli: Kodlanacak veriler (String veya Stream)
  • İsteğe bağlı: Grafik boyutları (varsayılan 500x500px)
  • İsteğe bağlı: hata düzeltme düzeyi (Düşük %7, Orta %15, Yüksek %25, En Yüksek %30)
  • İsteğe bağlı: QR sürüm numarası (otomatik için 0)

Yüksek performanslı parti işleme için artalan işlemleri ve özel stillendirme kullanın. Kusurlu koşullarla çalışırken, hata toleransı özelliklerini kullanın. Barkod okuma öğreticisi oluşturulan kodları doğrulama yöntemini gösterir.

QR Kodlarına Hangi Veri Türlerini Kodlayabilirim?

Üretim uygulamaları için yaygın QR kodu veri türleri, çeşitli kaynaklardan barkod oluşturma içerir. Detaylı örnekler için QR kodu oluşturma örneğine bakın. IronBarcode, uluslararası karakter kodlaması için Unicode barkodları destekler:

URL QR Kodları:

// Generate QR code for website URL
var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800);
urlQr.SetMargins(10); // Add quiet zone
urlQr.SaveAsPng("campaign-qr.png");

// Advanced URL QR code with tracking
public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams)
{
    var uriBuilder = new UriBuilder(baseUrl);
    var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);

    foreach (var param in utmParams)
        query[param.Key] = param.Value;

    uriBuilder.Query = query.ToString();
    var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000);
    return qr;
}
// Generate QR code for website URL
var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800);
urlQr.SetMargins(10); // Add quiet zone
urlQr.SaveAsPng("campaign-qr.png");

// Advanced URL QR code with tracking
public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams)
{
    var uriBuilder = new UriBuilder(baseUrl);
    var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);

    foreach (var param in utmParams)
        query[param.Key] = param.Value;

    uriBuilder.Query = query.ToString();
    var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000);
    return qr;
}
Imports System
Imports System.Collections.Generic
Imports System.Web

' Generate QR code for website URL
Dim urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800)
urlQr.SetMargins(10) ' Add quiet zone
urlQr.SaveAsPng("campaign-qr.png")

' Advanced URL QR code with tracking
Public Function CreateTrackableUrlQr(baseUrl As String, utmParams As Dictionary(Of String, String)) As GeneratedBarcode
    Dim uriBuilder = New UriBuilder(baseUrl)
    Dim query = HttpUtility.ParseQueryString(uriBuilder.Query)

    For Each param In utmParams
        query(param.Key) = param.Value
    Next

    uriBuilder.Query = query.ToString()
    Dim qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000)
    Return qr
End Function
$vbLabelText   $csharpLabel

vCard İletişim Bilgileri:

string vCard = @"BEGIN:VCARD
VERSION:3.0
FN:John Smith
ORG:Tech Corp
TEL:+1-555-0123
EMAIL:john@example.com
END:VCARD";

var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium);
contactQr.SaveAsPng("contact-card.png");
string vCard = @"BEGIN:VCARD
VERSION:3.0
FN:John Smith
ORG:Tech Corp
TEL:+1-555-0123
EMAIL:john@example.com
END:VCARD";

var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium);
contactQr.SaveAsPng("contact-card.png");
Dim vCard As String = "BEGIN:VCARD" & vbCrLf & _
                      "VERSION:3.0" & vbCrLf & _
                      "FN:John Smith" & vbCrLf & _
                      "ORG:Tech Corp" & vbCrLf & _
                      "TEL:+1-555-0123" & vbCrLf & _
                      "EMAIL:john@example.com" & vbCrLf & _
                      "END:VCARD"

Dim contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium)
contactQr.SaveAsPng("contact-card.png")
$vbLabelText   $csharpLabel

WiFi Konfigürasyonu:

string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;";
var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500);
wifiQr.SaveAsPng("wifi-config.png");
string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;";
var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500);
wifiQr.SaveAsPng("wifi-config.png");
Dim wifiConfig As String = "WIFI:T:WPA;S:NetworkName;P:Password123;;"
Dim wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500)
wifiQr.SaveAsPng("wifi-config.png")
$vbLabelText   $csharpLabel

IronBarcode, uluslararası karakterler için Unicode desteğini yönetir ve Micro QR ve rMQR gibi alan sınırlı uygulamalar için formatları destekler. Özel formatlar için yeni formatlar noktasını keşfedin. Özel veri formatları ile çalışırken, kütüphane akışlardan okuyabilir ve akış olarak dışa aktarabilir ve bu sayede etkin bellek kullanımı sağlar.

Nasıl Logo Ekler ve Özel Stil Uygularım?

QR kodlarına şirket logoları eklemek için CreateQrCodeWithLogo kullanın. Tam stil seçenekleri için, özel QR kodu örneğine ve QR kodu stil kılavuzuna bakın. Kütüphane ayrıca tüm barkod türleri için genel barkod stilini de destekler:

// Create QR code with embedded logo
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");

// Advanced logo customization
var logo = new QRCodeLogo("company-logo.png")
{
    Width = 100,
    Height = 100,
    CornerRadius = 5
};
var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600);

// Production-ready branded QR code
public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor)
{
    var logo = new QRCodeLogo(logoPath)
    {
        Width = 80,
        Height = 80,
        CornerRadius = 10
    };

    var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor));
    qr.SetMargins(15);
    return qr;
}
// Create QR code with embedded logo
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");

// Advanced logo customization
var logo = new QRCodeLogo("company-logo.png")
{
    Width = 100,
    Height = 100,
    CornerRadius = 5
};
var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600);

// Production-ready branded QR code
public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor)
{
    var logo = new QRCodeLogo(logoPath)
    {
        Width = 80,
        Height = 80,
        CornerRadius = 10
    };

    var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor));
    qr.SetMargins(15);
    return qr;
}
Imports System.Drawing

' Create QR code with embedded logo
Dim qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500)
qrWithLogo.ChangeBarCodeColor(Color.DarkRed)
qrWithLogo.SaveAsPng("Logo_QR_Code.png")

' Advanced logo customization
Dim logo As New QRCodeLogo("company-logo.png") With {
    .Width = 100,
    .Height = 100,
    .CornerRadius = 5
}
Dim advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600)

' Production-ready branded QR code
Public Function CreateBrandedQrCode(data As String, logoPath As String, brandColor As String) As GeneratedBarcode
    Dim logo As New QRCodeLogo(logoPath) With {
        .Width = 80,
        .Height = 80,
        .CornerRadius = 10
    }

    Dim qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800)
    qr.ChangeBarCodeColor(ColorTranslator.FromHtml(brandColor))
    qr.SetMargins(15)
    Return qr
End Function
$vbLabelText   $csharpLabel

Ek stil uygulamak için barkod özelleştirme özelliklerini uygulayın. Barkod stil özellikleri, tam özelleştirme seçenekleri sunar:

// Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray);
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME");
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name");
// Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray);
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME");
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name");
' Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"))
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray)
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME")
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name")
$vbLabelText   $csharpLabel

Hangi Dışa Aktarım Formatları Mevcut?

Farklı kullanım senaryoları için QR kodlarını çeşitli formatlarda kaydedin. Daha fazla bilgi için barkod kaydetme örneğine ve barkod görüntü oluşturucu kursuna bakın. Özel gereksinimler için, 1-BPP barkod görselleri oluşturma kılavuzuna bakın:

// Image formats
qrWithLogo.SaveAsJpeg("qr.jpg");
qrWithLogo.SaveAsPng("qr.png");
qrWithLogo.SaveAsGif("qr.gif");
qrWithLogo.SaveAsTiff("qr.tiff");

// Web formats
qrWithLogo.SaveAsHtmlFile("qr.html");
string dataUrl = qrWithLogo.ToDataUrl();

// Print formats
qrWithLogo.SaveAsPdf("qr.pdf");
qrWithLogo.ChangeBarcodeDpi(300);

// API formats
byte[] qrBytes = qrWithLogo.ToPngBinaryData();
var stream = qrWithLogo.ToStream();

// High-quality print export
public void ExportForPrint(GeneratedBarcode qr, string filename)
{
    qr.ChangeBarcodeDpi(600); //YüksekDPI for print
    qr.ResizeTo(2000, 2000); // Large size
    qr.SaveAsTiff(filename); // Lossless format
}
// Image formats
qrWithLogo.SaveAsJpeg("qr.jpg");
qrWithLogo.SaveAsPng("qr.png");
qrWithLogo.SaveAsGif("qr.gif");
qrWithLogo.SaveAsTiff("qr.tiff");

// Web formats
qrWithLogo.SaveAsHtmlFile("qr.html");
string dataUrl = qrWithLogo.ToDataUrl();

// Print formats
qrWithLogo.SaveAsPdf("qr.pdf");
qrWithLogo.ChangeBarcodeDpi(300);

// API formats
byte[] qrBytes = qrWithLogo.ToPngBinaryData();
var stream = qrWithLogo.ToStream();

// High-quality print export
public void ExportForPrint(GeneratedBarcode qr, string filename)
{
    qr.ChangeBarcodeDpi(600); //YüksekDPI for print
    qr.ResizeTo(2000, 2000); // Large size
    qr.SaveAsTiff(filename); // Lossless format
}
' Image formats
qrWithLogo.SaveAsJpeg("qr.jpg")
qrWithLogo.SaveAsPng("qr.png")
qrWithLogo.SaveAsGif("qr.gif")
qrWithLogo.SaveAsTiff("qr.tiff")

' Web formats
qrWithLogo.SaveAsHtmlFile("qr.html")
Dim dataUrl As String = qrWithLogo.ToDataUrl()

' Print formats
qrWithLogo.SaveAsPdf("qr.pdf")
qrWithLogo.ChangeBarcodeDpi(300)

' API formats
Dim qrBytes As Byte() = qrWithLogo.ToPngBinaryData()
Dim stream = qrWithLogo.ToStream()

' High-quality print export
Public Sub ExportForPrint(qr As GeneratedBarcode, filename As String)
    qr.ChangeBarcodeDpi(600) ' YüksekDPI for print
    qr.ResizeTo(2000, 2000) ' Large size
    qr.SaveAsTiff(filename) ' Lossless format
End Sub
$vbLabelText   $csharpLabel

PDF'ye özel işlemler için, barkodları PDF olarak oluşturma ve varolan PDF'lere barkod damgalama kılavuzlarına bakın. PDF'lerden barkod okurken, en iyi sonuçlar için PDF barkod okuyucu ayarlarını kullanın.

Web Uygulamalarında QR Kodları Nasıl Uygularım?

ASP.NET MVC uygulamaları için dosyasız veri akışı uygulayın: dosya I/O olmadan akış yaparak Kütüphane, doğrudan web entegrasyonu için barkodları HTML olarak oluşturmayı destekler:

public IActionResult GetQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    byte[] qrBytes = qr.ToPngBinaryData();
    return File(qrBytes, "image/png", "qrcode.png");
}

// Stream directly without disk I/O
public IActionResult StreamQrCode(string content)
{
    var qr = QRCodeWriter.CreateQrCode(content, 500);
    var stream = qr.ToStream();
    return File(stream, "image/png");
}

// Generate HTML-embedded QR codes
public IActionResult GetHtmlQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    var htmlString = qr.ToHtmlTag();
    return Content(htmlString, "text/html");
}
public IActionResult GetQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    byte[] qrBytes = qr.ToPngBinaryData();
    return File(qrBytes, "image/png", "qrcode.png");
}

// Stream directly without disk I/O
public IActionResult StreamQrCode(string content)
{
    var qr = QRCodeWriter.CreateQrCode(content, 500);
    var stream = qr.ToStream();
    return File(stream, "image/png");
}

// Generate HTML-embedded QR codes
public IActionResult GetHtmlQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    var htmlString = qr.ToHtmlTag();
    return Content(htmlString, "text/html");
}
Public Function GetQrCode(data As String) As IActionResult
    Dim qr = QRCodeWriter.CreateQrCode(data, 400)
    Dim qrBytes As Byte() = qr.ToPngBinaryData()
    Return File(qrBytes, "image/png", "qrcode.png")
End Function

' Stream directly without disk I/O
Public Function StreamQrCode(content As String) As IActionResult
    Dim qr = QRCodeWriter.CreateQrCode(content, 500)
    Dim stream = qr.ToStream()
    Return File(stream, "image/png")
End Function

' Generate HTML-embedded QR codes
Public Function GetHtmlQrCode(data As String) As IActionResult
    Dim qr = QRCodeWriter.CreateQrCode(data, 400)
    Dim htmlString As String = qr.ToHtmlTag()
    Return Content(htmlString, "text/html")
End Function
$vbLabelText   $csharpLabel

Blazor uygulamaları için reaktif QR kodu oluşturma uygulayın:

@page "/qrcode"
@using IronBarCode

<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>

@if (!string.IsNullOrEmpty(QrCodeDataUrl))
{
    <img src="@QrCodeDataUrl" alt="QR Code" />
}

@code {
    private string qrText = "";
    private string QrCodeDataUrl = "";

    private void GenerateQr()
    {
        if (!string.IsNullOrEmpty(qrText))
        {
            var qr = QRCodeWriter.CreateQrCode(qrText, 400);
            QrCodeDataUrl = qr.ToDataUrl();
        }
    }
}
@page "/qrcode"
@using IronBarCode

<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>

@if (!string.IsNullOrEmpty(QrCodeDataUrl))
{
    <img src="@QrCodeDataUrl" alt="QR Code" />
}

@code {
    private string qrText = "";
    private string QrCodeDataUrl = "";

    private void GenerateQr()
    {
        if (!string.IsNullOrEmpty(qrText))
        {
            var qr = QRCodeWriter.CreateQrCode(qrText, 400);
            QrCodeDataUrl = qr.ToDataUrl();
        }
    }
}
@page "/qrcode"
@Imports IronBarCode

<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>

@if Not String.IsNullOrEmpty(QrCodeDataUrl) Then
    <img src="@QrCodeDataUrl" alt="QR Code" />
End If

@Code
    Private qrText As String = ""
    Private QrCodeDataUrl As String = ""

    Private Sub GenerateQr()
        If Not String.IsNullOrEmpty(qrText) Then
            Dim qr = QRCodeWriter.CreateQrCode(qrText, 400)
            QrCodeDataUrl = qr.ToDataUrl()
        End If
    End Sub
End Code
$vbLabelText   $csharpLabel

Barkodları HTML olarak dışa aktarmak için barkodu HTML olarak oluşturma kılavuzunu inceleyin. Web uygulamalarında lisans uygularken web.config lisans anahtarı kılavuzuna bakın.

QR Kod Uygulaması İçin En İyi Uygulamalar Nelerdir?

Hangi Hata Düzeltme Düzeyini Seçmeliyim?

Hata düzeltme dayanıklılığı ve kapasiteyi etkiler. Detaylı bilgi için hata düzeltme kılavuzuna bakın. Kütüphane, makine öğrenme güven eşikleri içerir ve böylece doğruluğu artırır:

Düzey Düzeltme Kullanım Durumu
Düşük %7 Temiz dijital ortamlar
Orta %15 Basılı materyaller, kartvizitler
Yüksek %25 Açık hava tabelaları, elle taşınan öğeler
En Yüksek %30 Endüstriyel kullanım, logolar eklenmiş

QR Kodlarımın Boyutu Ne Olmalıdır?

Tarama mesafesine göre optimal boyut hesaplayın. Taramayı iyileştirmek için kenar boşluklarını ayarlama hakkında bilgi edinin. Kenar boşlukları ayarlama örneği en iyi uygulamaları gösterir:

// 1:10 ratio - 1cm QR per 10cm distance
int CalculateQrSize(double scanDistanceMeters)
{
    int sizeInCm = (int)(scanDistanceMeters * 10);
    return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI
}

// Set appropriate margins for reliable scanning
public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance)
{
    int size = CalculateQrSize(scanDistance);
    var qr = QRCodeWriter.CreateQrCode(data, size);
    qr.SetMargins(size / 20); // 5% margin
    return qr;
}
// 1:10 ratio - 1cm QR per 10cm distance
int CalculateQrSize(double scanDistanceMeters)
{
    int sizeInCm = (int)(scanDistanceMeters * 10);
    return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI
}

// Set appropriate margins for reliable scanning
public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance)
{
    int size = CalculateQrSize(scanDistance);
    var qr = QRCodeWriter.CreateQrCode(data, size);
    qr.SetMargins(size / 20); // 5% margin
    return qr;
}
' 1:10 ratio - 1cm QR per 10cm distance
Private Function CalculateQrSize(scanDistanceMeters As Double) As Integer
    Dim sizeInCm As Integer = CInt(scanDistanceMeters * 10)
    Return CInt(sizeInCm * 37.8) ' Convert to pixels at 96 DPI
End Function

' Set appropriate margins for reliable scanning
Public Function CreateScanOptimizedQr(data As String, scanDistance As Integer) As GeneratedBarcode
    Dim size As Integer = CalculateQrSize(scanDistance)
    Dim qr = QRCodeWriter.CreateQrCode(data, size)
    qr.SetMargins(size / 20) ' 5% margin
    Return qr
End Function
$vbLabelText   $csharpLabel

Mobil Uyumluluğu Nasıl Sağlarım?

Mobil tarama için barkod okuyucu ayarlarını kullanarak iyileştirin. Tanıma sorunlarıyla uğraşırken tanınmayan barkod kılavuzuna bakın:

public GeneratedBarcode CreateMobileOptimizedQr(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium);
    qr.SetMargins(20); // Adequate quiet zone
    qr.ChangeBarCodeColor(System.Drawing.Color.Black);
    qr.ChangeBackgroundColor(System.Drawing.Color.White);
    return qr;
}
public GeneratedBarcode CreateMobileOptimizedQr(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium);
    qr.SetMargins(20); // Adequate quiet zone
    qr.ChangeBarCodeColor(System.Drawing.Color.Black);
    qr.ChangeBackgroundColor(System.Drawing.Color.White);
    return qr;
}
Public Function CreateMobileOptimizedQr(ByVal data As String) As GeneratedBarcode
    Dim qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium)
    qr.SetMargins(20) ' Adequate quiet zone
    qr.ChangeBarCodeColor(System.Drawing.Color.Black)
    qr.ChangeBackgroundColor(System.Drawing.Color.White)
    Return qr
End Function
$vbLabelText   $csharpLabel

Platformlar arası mobil geliştirme için .NET MAUI barkod tarayıcı öğreticisini keşfedin. Kütüphane hem iOS hem de Android platformlarını doğal olarak destekler.## Common Integration Scenarios

Pazarlama Kampanya QR Kodları Oluşturma

Özel markalama ile izlenebilir pazarlama QR kodları uygulamak için barkod okuma hızını yönetme kılavuzuna başvurun:

public GeneratedBarcode CreateCampaignQr(string campaignId, string userId)
{
    string trackingUrl = "___PROTECTED_URL_79___";
    var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A"));
    qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}");
    return qr;
}

// Batch generate campaign materials
public async Task GenerateCampaignBatch(List<string> userIds, string campaignId)
{
    var tasks = userIds.Select(async userId =>
    {
        var qr = CreateCampaignQr(campaignId, userId);
        await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"));
    });

    await Task.WhenAll(tasks);
}
public GeneratedBarcode CreateCampaignQr(string campaignId, string userId)
{
    string trackingUrl = "___PROTECTED_URL_79___";
    var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A"));
    qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}");
    return qr;
}

// Batch generate campaign materials
public async Task GenerateCampaignBatch(List<string> userIds, string campaignId)
{
    var tasks = userIds.Select(async userId =>
    {
        var qr = CreateCampaignQr(campaignId, userId);
        await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"));
    });

    await Task.WhenAll(tasks);
}
Imports System.Drawing
Imports System.Threading.Tasks

Public Class BarcodeGenerator
    Public Function CreateCampaignQr(campaignId As String, userId As String) As GeneratedBarcode
        Dim trackingUrl As String = "___PROTECTED_URL_79___"
        Dim qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000)
        qr.ChangeBarCodeColor(ColorTranslator.FromHtml("#1E3A8A"))
        qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}")
        Return qr
    End Function

    ' Batch generate campaign materials
    Public Async Function GenerateCampaignBatch(userIds As List(Of String), campaignId As String) As Task
        Dim tasks = userIds.Select(Async Function(userId)
                                       Dim qr = CreateCampaignQr(campaignId, userId)
                                       Await Task.Run(Sub() qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"))
                                   End Function)

        Await Task.WhenAll(tasks)
    End Function
End Class
$vbLabelText   $csharpLabel

Ürün Etiketi QR Kodları Üretme

Envanter yönetimi için QR kodları oluşturun. Özel formatları ele almak için GS1-128 sorun giderme kılavuzuna bakın. Belirli barkod türleriyle çalışırken, Code 39 veya MSI barkodları gibi formatlara özgü kılavuzlara bakın:

public void GenerateProductLabel(Product product)
{
    var productData = new
    {
        sku = product.SKU,
        batch = product.BatchNumber,
        expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
    };

    string json = System.Text.Json.JsonSerializer.Serialize(productData);
    var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.AddAnnotationTextAboveBarcode(product.Name);
    qr.SaveAsPng($"labels/product-{product.SKU}.png");
}

// Generate 1-BPP labels for thermal printers
public void GenerateThermalLabel(Product product)
{
    var qr = CreateProductQr(product);
    qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png");
}
public void GenerateProductLabel(Product product)
{
    var productData = new
    {
        sku = product.SKU,
        batch = product.BatchNumber,
        expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
    };

    string json = System.Text.Json.JsonSerializer.Serialize(productData);
    var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.AddAnnotationTextAboveBarcode(product.Name);
    qr.SaveAsPng($"labels/product-{product.SKU}.png");
}

// Generate 1-BPP labels for thermal printers
public void GenerateThermalLabel(Product product)
{
    var qr = CreateProductQr(product);
    qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png");
}
Public Sub GenerateProductLabel(product As Product)
    Dim productData = New With {
        .sku = product.SKU,
        .batch = product.BatchNumber,
        .expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
    }

    Dim json As String = System.Text.Json.JsonSerializer.Serialize(productData)
    Dim qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High)
    qr.AddAnnotationTextAboveBarcode(product.Name)
    qr.SaveAsPng($"labels/product-{product.SKU}.png")
End Sub

' Generate 1-BPP labels for thermal printers
Public Sub GenerateThermalLabel(product As Product)
    Dim qr = CreateProductQr(product)
    qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png")
End Sub
$vbLabelText   $csharpLabel

Özelleşmiş etiket baskısı için, 1-BPP barkod görüntüsü kılavuzunu inceleyin. Çok sayfalı belgeleri okurken, çok sayfalı GIF ve TIFF kılavuzuna bakın.

Barkod Tarama Performansını İyileştirme

Yüksek hacimli tarama uygulamaları için tarama alanlarını sınırlamak ve performansı artırmak için kırpma bölgeleri uygulayın. Okuma hızı seçenekleri, doğruluk-hız dengelemeyi kontrollü bir şekilde sunar:

// Define crop region for faster scanning
var cropRegion = new Rectangle(100, 100, 300, 300);
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode,
    CropArea = cropRegion
};

var results = BarcodeReader.Read("image.png", options);
// Define crop region for faster scanning
var cropRegion = new Rectangle(100, 100, 300, 300);
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode,
    CropArea = cropRegion
};

var results = BarcodeReader.Read("image.png", options);
' Define crop region for faster scanning
Dim cropRegion As New Rectangle(100, 100, 300, 300)
Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.Faster,
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode,
    .CropArea = cropRegion
}

Dim results = BarcodeReader.Read("image.png", options)
$vbLabelText   $csharpLabel

Sistem Çizim nesneleriyle çalışırken, kütüphane IronDrawing aracılığıyla platformlar arası uyumluluk sağlar.

Belirgin Çıkarımlar

IronBarcode, .NET uygulamalarında QR kodları oluşturmak için eksiksiz bir çözüm sunar. Kütüphane, sezgisel API'lar, kapsamlı belgeler ve üretime hazır özellikler sunar: hata toleransı, platformlar arası destek ve performans optimizasyonu içerir. En son özellikler hakkında güncellemeler ile güncel kalın. Güvenlik bilincine sahip dağıtımlar için güvenlik CVE açıklamalarını inceleyin.

Lisans bilgilerini lisans sayfasında bulun. IronBarcode, premium seçeneklerle birlikte destek ve güncellemelerle ücretsiz bir geliştirici lisansı sunar. Mevcut müşteriler için lisans uzantılarını ve yükseltme seçeneklerini keşfedin. Lisanslama konusunda yardıma ihtiyacınız varsa, lisans anahtarı uygulama kılavuzuna ve web.config lisans kurulumuna bakın.

Üretim dağıtımları için, AWS Lambda, Azure Fonksiyonları ve Docker konteynerleri kılavuzlarına bakın. Belirli dağıtım sorunlarını gidermek için, AWS Lambda çalışma zamanı kılavuzuna ve çalışma zamanı kopya istisna çözümlerine bakın. Yanlış pozitifler yaşadığınızda, detaylı sorun giderme kılavuzunu inceleyin.

Teknik destek için, bir mühendislik isteği gönderin. Kütüphane düzenli güncellemeler geçirmekte olup, ürün güncellemeleri bölümünde gösterildiği gibi uyumluluğun ve yeni özelliklerin sürdürüldüğünü garanti eder.

Hızlı Bir QR Kodu Örneğiyle Başlangıç Yapmak

Sadece birkaç satır kodla özel stil özelleştirmesiyle QR kodu oluşturun. Daha fazla örnek için barkod oluşturma örneğine bakın ve tam barkod çözümleri için barkod okuma öğreticisini inceleyin. Ek örnekler arasında PDF'lerden barkod okuma ve verilerden barkod oluşturma bulunmaktadır:

using IronBarCode;

// Create QR code with custom size and error correction
var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy);
qrCode.AddBarcodeValueTextBelowBarcode();

// Save as image
qrCode.SaveAsPng("quickstart-qr.png");

// Export for API
byte[] pngBytes = qrCode.ToPngBinaryData();
using IronBarCode;

// Create QR code with custom size and error correction
var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy);
qrCode.AddBarcodeValueTextBelowBarcode();

// Save as image
qrCode.SaveAsPng("quickstart-qr.png");

// Export for API
byte[] pngBytes = qrCode.ToPngBinaryData();
Imports IronBarCode

' Create QR code with custom size and error correction
Dim qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High)

' Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy)
qrCode.AddBarcodeValueTextBelowBarcode()

' Save as image
qrCode.SaveAsPng("quickstart-qr.png")

' Export for API
Dim pngBytes As Byte() = qrCode.ToPngBinaryData()
$vbLabelText   $csharpLabel

IronBarcode, AWS Lambda, Azure, Docker ve mobil platformlar üzerine dağıtımı destekler. Teknik destek için, bir mühendislik isteği gönderin. Kurumsal güvenlik gereksinimleri için güvenlik CVE açıklamalarını keşfedin.

Barkod tanıma kabiliyetlerini tam anlamak için barkod okuma özelliklerini inceleyin, Code 39 barkodlarını okuma ve diğer özel formatlar dahil. Kütüphanenin tam özellik seti, güvenilir barkod üretimi ve tarama yetenekleri gerektiren kurumsal uygulamalar için uygundur.

Sıkça Sorulan Sorular

.NET uygulamasında QR kodu nasıl oluştururum?

IronBarcode içinde QRCodeWriter.CreateQrCode yöntemini kullanarak bir .NET uygulamasında QR kodu oluşturabilirsiniz. Bu yöntem, QR kodu verilerini, boyutunu ve hata düzeltme seviyesini belirtmenize olanak tanır.

QR kodları için mevcut özelleştirme seçenekleri nelerdir?

IronBarcode, QR kodlarının rengini değiştirme ve şirket logoları gibi görüntüler gömme gibi özelleştirme seçenekleri sunar. Bu özellikler, QR kodlarının görsel çekiciliğini ve marka entegrasyonunu artırır.

Projemde IronBarcode kütüphanesini nasıl yükleyebilirim?

Projenizde IronBarcode'u, Visual Studio'nun NuGet Paket Yöneticisi UI'si, Paket Yöneticisi Konsolu veya NuGet web sitesinden indirerek yükleyebilirsiniz.

IronBarcode video karelerinden barkod okuyabilir mi?

Evet, IronBarcode video karelerini işleyebilir, bu sayede rotasyon ve gürültüyü düzelterek gerçek zamanlı barkod okuma verimliliğini artırır.

IronBarcode ile oluşturulan QR kodları hangi dosya formatında kaydedilebilir?

IronBarcode ile oluşturulan QR kodları, farklı uygulama ihtiyaçları için esneklik sağlayarak, PNG ve HTML dahil olmak üzere çeşitli formatlarda kaydedilebilir.

IronBarcode hem konsol hem de web uygulamaları için uygun mudur?

Evet, IronBarcode çok yönlüdür ve hem konsol hem de .NET MVC web uygulamalarında kullanılabilir, bu da çeşitli geliştirme ortamları için sağlam bir seçim yapar.

IronBarcode içindeki QR kodları için hangi hata düzeltme seviyeleri mevcuttur?

IronBarcode, QR kodları için dört hata düzeltme seviyesi destekler: Düşük, Orta, Yüksek ve En Yüksek, böylece QR kodu zarar görse bile veri bütünlüğü sağlanır.

IronBarcode için lisanslama seçenekleri nelerdir?

IronBarcode, ücretsiz bir geliştirici lisansı ve ek destek ve güncellemeler içeren bir premium versiyon sunar, farklı geliştirme ve iş ihtiyaçlarına hitap eder.

IronBarcode .NET Core ve .NET Framework ile uyumlu mu?

Evet, IronBarcode hem .NET Core hem de .NET Framework ile uyumludur ve 32 ve 64-bit sistemler dahil olmak üzere çeşitli mimarileri destekler.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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