Altbilgi içeriğine atla
IRONBARCODE KULLANARAK

C# ile IronBarcode kullanarak QR Kodları Nasıl Oluşturulur

IronBarcode, .NET geliştiricilerin QRCodeWriter sinifini kullanarak verimli bir sekilde QR kodlari oluşturmasini saglar. Ozel logolar, renkler, birden çok cikti formati ve Windows, Linux, macOS ve mobil dahil olmak üzere platformlar arasi dağıtimi destekler.

Bu kılavuz, üretim sistemleri için QR kodları oluşturmak amacıyla IronBarcode'ın nasıl kullanılacağını gösterir. IronBarcode'un API'si, kurumsal uygulamalar için gereken performans ve güvenilirliği sağlarken .NET konvansiyonlarına uygun şekilde çalışır. Kutuphanemiz, dokümantasyon saglar ve Windows, Linux, macOS ve mobil platformlarda dağıtim destegi sunar. Tüm yeteneklerin tam bir genel görünümü için, özellikler sayfasını keşfedin. barkod hızlı başlangıç kılavuzu, başlangıç yapmanız için size hemen uygulamalı örnekler sunmaktadır.

QR Kod Oluşturma için IronBarcode Kullanmanın Faydaları Nelerdir?

Neden IronBarcode'u Diğer Kütüphaneler Üzerine Seçmelisiniz?

IronBarcode ile QR Kodlari Nasıl Oluştururum?

Aşağıdaki bölümler, SOLID prensiplerine uygun üretim seviyesinde kodları göstermektedir. Çeşitli QR kod türleri oluşturmayı, özel stiller uygulamayı ve güvenilir tarama performansını sağlamayı öğreneceksiniz. Kutuphanenin özellikleri arasinda QR kodlarin yani sira 1D ve 2D barkodlar icin destek bulunmaktadir. Gelişmiş senaryolar için, tam metod imzalarını görmek üzere API referansını inceleyin. Demoları keşfedin ve IronBarcode'un yeteneklerini harekete geçirin.

Yeni Bir Proje Nasıl Kurulur?

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

Console Uygulaması şablonunu seçin ve İleri'ye tıklayın.

Tercih ettiğiniz proje adını (örn. QR Code Generator) girin ve konumu belirtin. İleri'ye tıklayın.

Açılır menüden bir .NET Framework seçin (.NET 6.0 (Uzun vadeli destek)) ve Oluştur'a tıklayın. IronBarcode, uyumluluk belgesinde ayrıntılı olarak açıklandığı gibi tüm modern .NET sürümlerini destekler. Belirli platform gereksinimleri için, Blazor entegrasyonu kılavuzunu kontrol edin.

Hangi Kurulum Yöntemleri Mevcuttur?

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

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

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

Veya Solution Explorer'da projenize sağ tıklayın ve Manage NuGet Packages... seçeneğini belirleyin.

Gözat üzerine tıklayın, Barcode arayın, IronBarcode seçin, projenizi seçin ve Yükle üzerine tıklayın. Platforma özel kurulumlar için, NuGet paketleri kılavuzuna bakın. Sorunlarla karşılaşırsanız, NuGet sorun giderme kılavuzuna başvurun. Kutuphanesi, AWS Lambda ve Azure Functions dahil olmak üzere çeşitli kullanım senaryolarını destekler.

Package Manager Console Kullanarak Nasıl Kurarım?

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

Install-Package BarCode

Bu, kutuphaneyi mevcut projenize yukler. Konteynerleştirilmiş dağıtımlar için, Docker kurulumu kılavuzunu takip edin. Lisans anahtarlarini kullanirken, dağıtim ortaminiz icin uygun konfigürasyonu sagladiginizdan emin olun.

NuGet veya IronBarcode Web Sitesinden Nasıl İndirme Yapılır?

NuGet Galerisi web sitesinden indirin veya en yeni .NET barkod DLL dosyasını almak için IronBarcode ana sayfasını ziyaret edin. Çözüm Gezgini'nde Ekle > Başvuru yoluyla DLL'i projenize ekleyin. DLL sorunlarını gidermek için eksik DLL rehberine bakın. Çalışma zamanı sorunlarıyla karşılaştığınızda, çalışma zamanı kopya istisna kılavuzu ile danışın.

QR Kod Görüntülerini Nasıl Oluşturur ve Özelleştiririm?

Temel Bir QR Kodu Nasıl Oluştururum?

CreateQrCode yöntemini QRCodeWriter sinifindan kullanarak QR kodlari oluşturun. Tam bir örnek için C# QR kodu oluşturucu öğreticisini inceleyin. Kutuphanemiz, çeşitli formatlarda barkod görüntüleri oluşturmayi destekler:

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 kabul eder:

  • Gereken: kodlanacak veri (String veya Stream)
  • İsteğe bağlı: grafik boyutları (varsayılan 500x500px)
  • İsteğe bağlı: hata düzeltme seviyesi (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ı toplu işlem için eşzamanlı işlemleri ve özel stillendirmeyi kullanın. Imperfect kosullarla calisirken, hata toleransi özelliklerini kullanin. Barkodları okuma öğreticisi, oluşturulan kodların nasıl doğrulanacağını gösterir.

QR Kodlarında Hangi Veri Türlerini Kodlayabilirim?

Üretim uygulamaları için yaygın QR kod veri türleri arasında çeşitli kaynaklardan barkod oluşturma yer alır. 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 Ayarlari:

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 sınırlı alan uygulamaları için Micro QR ve rMQR gibi formatları destekler. Özel formatlar için, yeni formatlar aşamasını keşfedin. Özel veri formatlarıyla çalışırken, kütüphane akışlardan okuyabilir ve verimli bellek kullanımı için akış olarak dışa aktarabilir.

Logolar ve Özel Stil Nasıl Eklerim?

QR kodlarina şirket logolarini eklemek icin CreateQrCodeWithLogo kullanin. Tam stil seçenekleri için özel QR kodu örneği ve QR kodu stil rehberine bakın. Kutuphanemiz, tüm barkod turleri icin genel barkod stillendirmesi de desteklemektedir:

// 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 özellikleri kullanabilirsiniz. Barkod stillendirme özelliği, 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 Ihracat Formatlari Mevcut?

Farkli kullanim durumlari icin QR kodlarini çeşitli formatlarda kaydedin. Daha fazla bilgi icin barkod kaydetme ornegi ve barkod görüntü oluşturucu uygulamasina bakin. Ozel gereksinimler icin, 1-BPP barkod görüntüleri oluşturma rehberine bakin:

// 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); // High DPI 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); // High DPI 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) ' High DPI for print
    qr.ResizeTo(2000, 2000) ' Large size
    qr.SaveAsTiff(filename) ' Lossless format
End Sub
$vbLabelText   $csharpLabel

PDF'ye ozel işlemler icin, PDF olarak barkod oluşturma ve mevcut PDF'lere barkod damgalama rehberlerine bakin. PDF'lerden barkod okurken, PDF barkod okuyucu ayarlarini optimal sonuc icin kullanin.

Web Uygulamalarinda QR Kodlarini Nasıl Uygularim?

ASP.NET MVC uygulamalari icin, dosya I/O olmadan akitmayi uygulayin. Kutuphanede, dogrudan web entegrasyonu icin HTML olarak barkod oluşturma destegi vardir:

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 uygulamalari icin, tepkisel QR kodu oluşturmayi uygulayin:

@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

HTML olarak barkodlari aktarmak icin, HTML olarak barkod oluşturma rehberini inceleyin. Web uygulamalarinda lisans uygularken, web.config lisans anahtari rehberine bakin.

QR Kodu Uygulamalari Icin En Iyi Uygulamalar Nedir?

Hangi Hata Duzenleme Seviyesini Secmeliyim?

Hata duzenleme dayanikliligi ve kapasiteyi etkiler. Detayli bilgi icin, hata duzenleme rehberine bakin. Kutuphanede, dogrulugu artirmak icin makine ogrenimi guven esik degerleri vardir:

Seviye Kurtarma Kullanim Durumu
Low 7% Temiz dijital ortamlar
Medium 15% Baski materyalleri, is kartlari
High 25% Dis mekan tabelalari, kullanilan urunler
En Yuksek 30% Endustriyel kullanim, logolar eklenmis

QR Kodlarim Ne Buyuklukte Olmali?

Optimum boyutu tarama mesafesine gore hesaplayin. Tarama verimini artirmak icin kenar bosluklari ayarlama hakkinda bilgi edinin. Kenar bosluklari ayarlama ornegi en iyi uygulamalari göstermektedir:

// 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 Uyumlulugu Nasıl Saglarim?

Mobil tarama icin barkod okuyucu ayarlarini kullanarak iyilestirin. Tanima sorunlariyla bas ederken, taninmayan barkod sorun giderme rehberine bakin:

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

Platformlararasi mobil geliştirme icin, .NET MAUI barkod tarayici eğitimini inceleyin. Kutuphanede iOS ve Android platformlari icin dogal destek vardir. ## Yaygin Entegrasyon Senaryolari

Pazarlama Kampanyalari Icin QR Kodlari Oluşturma

Ozel markalama ile izlenebilir pazarlama QR kodlarini uygulamak icin, barkod okuma hizini yonetmek icin okuma hizlari rehberine bakin:

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 Kodlari Oluşturma

Stok yonetimi icin QR kodlari oluşturun. Ozel formatlarla bas ederken, GS1-128 sorun giderme rehberine bakin. Code 39 veya MSI barkodlari gibi ozel barkod tipleriyle calisirken format ozel rehberlerine bakin:

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

Ozel etiket baskisi icin, 1-BPP barkod görüntü rehberini inceleyin. Çok sayfali belgeleri okurken, çok sayfali GIF ve TIFF rehberine bakin.

Barkod Tarama Performansini Iyilestirme

Yuksek hacimli tarama uygulamalari icin, performansi arttirmak icin tarama alanlarini sinirlamak icin kesim bolgelerini uygulayin. Okuma hizi seçenekleri ile dogruluk-hiz değişikligi uzerinde ince ayar kontrolu sunulur:

// 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

System.Drawing nesneleri ile calisirken, kutuphane IronDrawing ile platformlararasi uyumluluk saglar.

Temel Cikarimlar

IronBarcode, .NET uygulamalarinda QR kodu oluşturma icin eksiksiz bir cozum sunar. Kutuphanede kestirimli API'ler, genis dokümantasyon ve hata toleransi, capraz platform destegi ve perforamans iyilestirmeleri gibi uretime hazır özellikler sunar. Değişiklik Günlüğü ile en son özelliklerle güncel kalın. Güvenliğe duyarlı dağıtımlar için güvenlik CVE ifşalarını gözden geçirin.

Lisans bilgilerini lisans sayfasında bulun. IronBarcode, premium seçeneklerle destek ve güncellemeler içeren ücretsiz bir geliştirici lisansı sunar. Mevcut müşteriler için lisans uzantılarını ve yükseltme seçeneklerini keşfedin. Lisanslama ile ilgili yardıma ihtiyaçınız varsa, lisans anahtarı uygulama rehberine ve web.config lisanslama kurulum rehberine bakin.

Uretim dağıtımları için AWS Lambda, Azure Fonksiyonları ve Docker konteynerları rehberlerini gözden geçirin. Spesifik dağıtım sorunlarını gidermek için AWS Lambda çalışma zamanı rehberi ve çalışma zamanı kopya istisna çözümlerine bakin. False positives olduğunda, detaylı sorun giderme rehberine bakin.

Teknik destek için bir mühendislik talebi gönderin. Ürün Güncellemeleri Bölümü'nde gösterildiği gibi kutuphane düzenli güncellemelerden geçer, bu da devam eden uyumluluk ve yeni özellikler sunar.

Hızlı Bir QR Kodu Örneğiyle Başlayın

Kendi stilinizle yalnızca birkaç satır kodla bir QR kodu oluşturun. Daha fazla örnek için, barkod oluşturma örneğini ziyaret edin ve tam barkod çözümleri için barkod okuma uygulamalarını keşfedin. Ek örnekler arasında PDF'lerden barkod okuma ve verilerden barkod oluşturma bulunur:

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 platformlarda .NET MAUI üzerinden dağıtımı destekler. Teknik destek için bir mühendislik talebi gönderin. Kuruluş güvenlik gereksinimleri için güvenlik CVE ifşalarını inceleyin.

Barkod okuma özelliklerini tam olarak anlamak için inceleyin ve Code 39 barkodlarını okuma ve diğer özel formatlar için destek içerir. Kutuphane, güvenilir barkod oluşturma ve tarama yetenekleri gerektiren kurumsal uygulamalar için uygundur.

Sıkça Sorulan Sorular

.NET uygulamasinda nasil bir QR kodu oluştururum?

Bir .NET uygulamasinda IronBarcode'daki QRCodeWriter.CreateQrCode metodunu kullanarak bir QR kodu oluşturabilirsiniz. Bu metod, QR kod verilerini, boyutunu ve hata düzeltme seviyesini belirtmenizi saglar.

QR kodlar için hangi özellestirme seçenekleri mevcuttur?

IronBarcode, QR kodlarin özellestirilmesine olanak tanir, renk değiştirmek ve şirket logolari gibi resimleri yerlestirmek dahil. Bu özellikler, QR kodlarin gorunusunu ve marka entegrasyonunu geliştirir.

Projemde IronBarcode kütüphanesini nasil yuklerim?

IronBarcode'u projenizde, Visual Studio'nun NuGet Paket Yönetimi UI'si, Paket Yönetimi Konsolu araciligiyla veya NuGet web sitesinden indirerek yukleyebilirsiniz.

IronBarcode, video karelerinden barkod okuyabilir mi?

Evet, IronBarcode video karelerini isleyebilir, bu da barkodlarin gerçek zamanli okunmasina, donus ve gurultu için düzeltme yapilarak olanak tanir, boylece barkod okuma verimliligini artirir.

IronBarcode ile oluşturulan QR kodlari hangi dosya formatlarinda kaydedilebilir?

IronBarcode ile oluşturulan QR kodlari, PNG ve HTML dahil bircok formatta kaydedilebilir, bu da farkli uygulama gereksinimleri için esneklik saglar.

IronBarcode hem konsol hem de web uygulamalari için uygun mu?

Evet, IronBarcode çok yonludur ve hem konsol hem de .NET MVC web uygulamalarinda kullanilabilir, bu da çeşitli geliştirme ortamlari için güçlü bir seçim yapar.

IronBarcode'daki QR kodlari için hangi hata düzeltme seviyeleri mevcuttur?

IronBarcode, QR kodlari için dort düzeyde hata düzeltme destekler: Dusuk, Orta, Yüksek ve En Yüksek, bu da QR kodu zarara ugrarsa bile veri butunlugunu saglar.

IronBarcode için hangi lisans seçenekleri mevcuttur?

IronBarcode, farkli geliştirme ve is gereksinimlerine hitap eden ek destek ve güncellemeler iceren bir premium sürüm ile ücretsiz bir geliştirici lisansi sunar.

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

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

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