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?
- 20'den fazla barkod formatını okur ve yazar, UPC, EAN, Code 128 ve
DataMatrixdahil. Tüm desteklenen formatları görün. - Gelişmiş doğruluk için görüntüleri düzeltme filtreleri ile önceden işler. Görüntü düzeltme içeren kusurlu barkodlar için gelişmiş özellikler içerir.
- Otomatik görüntü yönlendirme düzeltmesi ile taramaları ve video karelerini okur.
- Asenkron destek ile toplu işlem için birden fazla çekirdek kullanır. İyi performans için asenkron olarak barkod okumayı öğrenin.
- Özelleştirilebilir okuyucu seçenekleriyle birden fazla barkodu otomatik olarak bulur. En iyi sonuçlar için barkod okuyucu ayarlarını yapılandırın.
- Çapraz platform uyumluluğu ile .NET Core ve Framework üzerinde 32/64-bit mimarilerini destekler.
- PC ve mobilde çalışır: Android, iOS, macOS, Linux. Sunucular için Docker kurulum kılavuzuna bakın.
- Çeşitli çıktı seçenekleri ile birden fazla formatta QR kodları oluşturur. Çeşitli formatlarda barkodlar oluşturmayı destekler.
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
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
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")
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")
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
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")
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
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
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
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
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
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
Ü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
Ö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)
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()
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.




