Generate QR Codes in C# - Complete Tutorial for .NET Developers
C# uygulamanızda QR kodları mı üretmeniz gerekiyor? Bu eğitimde, IronBarcode kullanarak QR kodlarını nasıl oluşturacağınız, özelleştireceğiniz ve doğrulayacağınız tam olarak gösterilmektedir — basit tek satırlık uygulamalardan logo gömme ve ikili veri kodlama gibi gelişmiş özelliklere kadar.
Stok yönetim sistemleri, etkinlik biletleme platformları veya temassız ödeme çözümleri oluşturuyorsanız, .NET uygulamalarınızda profesyonel kalitede QR kod işlevselliğini nasıl uygulayacağınızı öğreneceksiniz.
Hızlı Başlat: IronBarcode ile Tek Satırda QR Kodu Oluşturma
Hızlı bir şekilde QR Kodu oluşturmaya hazır mısınız? IronBarcode'un QRCodeWriter API'sini kullanarak tek bir kod satırında QR kodu oluşturabilirsiniz; özelleştirme isteğe bağlıdır ancak çok etkilidir.
-
IronBarcode aşağıdaki NuGet Paket Yöneticisi ile yükleyin
PM > Install-Package BarCode -
Bu kod parçacığını kopyalayın ve çalıştırın.
var qr = QRCodeWriter.CreateQrCode("https://ironsoftware.com/", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium); qr.SaveAsPng("MyQR.png"); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronBarcode kullanmaya başlayın
Asgari İş Akışı (5 adım)
- NuGet üzerinden IronBarcode'u Yükleyin
- Tek bir satır ile QR kodu oluşturun:
QRCodeWriter.CreateQrCode() - Logo eklemek için
CreateQrCodeWithLogo()kullanın GeneratedBarcode.Verify()ile okunabilirliği doğrulayın- Gelişmiş uygulamalar için ikili verileri kodlayın
How Do I Install a QR Code Library in C#?
NuGet Paket Yöneticisi'ni kullanarak şu basit komutla IronBarcode'yi yükleyin:
Install-Package BarCode
Alternatif olarak, IronBarcode DLL'ini doğrudan indirin ve projenize referans olarak ekleyin.
Gerekli Ad Alanlarını İçe Aktarma
IronBarcode'un QR kod üretim özelliklerine erişmek için bu ad alanlarını ekleyin:
using IronBarCode;
using System;
using System.Drawing;
using System.Linq;
using IronBarCode;
using System;
using System.Drawing;
using System.Linq;
Imports IronBarCode
Imports System
Imports System.Drawing
Imports System.Linq
How Can I Create a Simple QR Code in C#?
IronBarcode'nin CreateQrCode yöntemini kullanarak tek bir kod satırıyla bir QR kodu oluşturun:
using IronBarCode;
// Generate a QR code with text content
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("MyQR.png");
using IronBarCode;
// Generate a QR code with text content
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("MyQR.png");
Imports IronBarCode
' Generate a QR code with text content
Private qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium)
qrCode.SaveAsPng("MyQR.png")
`` yöntemi üç parametre kabul eder:
- Metin içeriği: Kodlanacak veri (URL'ler, metin veya herhangi bir string veri desteklenir)
- Boyut: Kare QR kodu için piksel boyutları (bu örnekte 500x500)
- Hata düzeltme: Alt optimal koşullarda okunabilirliği belirler (Düşük, Orta, Çeyrek veya Yüksek)
Daha yüksek hata düzeltme seviyeleri, QR kodlarının kısmen hasar görmüş veya gizlenmiş olduğunda bile okunabilir kalmasını sağlar, ancak daha fazla veri modülü ile daha yoğun desenler oluştururlar.
'hello world' metnini içeren, orta hata düzeltme ile 500x500 pikselde oluşturulmuş basit bir QR kodu
QR Koduma Logo Nasıl Eklerim?
QR kodlarına logo eklemek, marka bilinirliğini artırırken taranabilirliği korur. IronBarcode, QR kodunun bütünlüğünü korumak için logoları otomatik olarak konumlandırır ve boyutlandırır:
using IronBarCode;
using IronSoftware.Drawing;
// Load logo image
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
// Create QR code with embedded logo
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
// Customize appearance
myQRCodeWithLogo.ResizeTo(500, 500).SetMargins(10).ChangeBarCodeColor(Color.DarkGreen);
// Save the branded QR code
myQRCodeWithLogo.SaveAsPng("myQRWithLogo.png");
using IronBarCode;
using IronSoftware.Drawing;
// Load logo image
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
// Create QR code with embedded logo
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
// Customize appearance
myQRCodeWithLogo.ResizeTo(500, 500).SetMargins(10).ChangeBarCodeColor(Color.DarkGreen);
// Save the branded QR code
myQRCodeWithLogo.SaveAsPng("myQRWithLogo.png");
Imports IronBarCode
Imports IronSoftware.Drawing
' Load logo image
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
' Create QR code with embedded logo
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
' Customize appearance
myQRCodeWithLogo.ResizeTo(500, 500).SetMargins(10).ChangeBarCodeColor(Color.DarkGreen)
' Save the branded QR code
myQRCodeWithLogo.SaveAsPng("myQRWithLogo.png")
`` yöntemi, aşağıdakileri yaparak logo yerleşimini akıllıca yönetir:
- QR kodu okunabilirliğini korumak için logonun boyutunu otomatik olarak ayarlar
- Veri bozulmasını önlemek için logosu, sessiz alan içine konumlandırır
- QR kodu renklerini değiştirirken logonun orijinal renklerini korur
Bu yaklaşım, markalı QR kodlarınızın tüm tarama cihazları ve uygulamalarıyla tam işlevsel kalmasını sağlar.
IronBarcode'un otomatik logo boyutlandırma ve konumlandırma işlevselliğini gösteren Visual Studio logosuna sahip QR kodu
Farklı Formatlara QR Kodlarını Nasıl Dışa Aktarabilirim?
IronBarcode, farklı kullanım durumları için birden fazla dışa aktarma formatını destekler. QR kodlarınızı görüntü, PDF veya HTML dosyaları olarak dışa aktarın:
using IronBarCode;
using System.Drawing;
// Create QR code with logo
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
// Apply custom styling
myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen);
// Export to multiple formats
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf"); // PDF document
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html"); // Standalone HTML
myQRCodeWithLogo.SaveAsPng("MyQRWithLogo.png"); // PNG image
myQRCodeWithLogo.SaveAsJpeg("MyQRWithLogo.jpg"); // JPEG image
using IronBarCode;
using System.Drawing;
// Create QR code with logo
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
// Apply custom styling
myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen);
// Export to multiple formats
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf"); // PDF document
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html"); // Standalone HTML
myQRCodeWithLogo.SaveAsPng("MyQRWithLogo.png"); // PNG image
myQRCodeWithLogo.SaveAsJpeg("MyQRWithLogo.jpg"); // JPEG image
Imports IronBarCode
Imports System.Drawing
' Create QR code with logo
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
' Apply custom styling
myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen)
' Export to multiple formats
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf") ' PDF document
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html") ' Standalone HTML
myQRCodeWithLogo.SaveAsPng("MyQRWithLogo.png") ' PNG image
myQRCodeWithLogo.SaveAsJpeg("MyQRWithLogo.jpg") ' JPEG image
Her format belirli amaçlara hizmet eder:
- PDF: basılabilir belgeler ve raporlar için idealdir
- HTML: harici bağımlılıklar olmadan web entegrasyonu için mükemmeldir
- PNG/JPEG: Çok yönlü kullanım için standart görüntü formatları
Özelleştirmeden Sonra QR Kod Okunabilirliğini Nasıl Doğrularım?
Renk değişiklikleri ve logo eklemeleri QR kod taranabilirliğini etkileyebilir. Özelleştirilmiş QR kodlarınızın okunabilirliğini sağlamak için `` yöntemini kullanın:
using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Drawing;
// Generate QR code with logo
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myVerifiedQR = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
// Apply light color (may affect readability)
myVerifiedQR.ChangeBarCodeColor(Color.LightBlue);
// Verify the QR code can still be scanned
if (!myVerifiedQR.Verify())
{
Console.WriteLine("LightBlue is not dark enough to be read accurately. Let's try DarkBlue");
myVerifiedQR.ChangeBarCodeColor(Color.DarkBlue);
}
// Save verified QR code
myVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html");
using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Drawing;
// Generate QR code with logo
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myVerifiedQR = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
// Apply light color (may affect readability)
myVerifiedQR.ChangeBarCodeColor(Color.LightBlue);
// Verify the QR code can still be scanned
if (!myVerifiedQR.Verify())
{
Console.WriteLine("LightBlue is not dark enough to be read accurately. Let's try DarkBlue");
myVerifiedQR.ChangeBarCodeColor(Color.DarkBlue);
}
// Save verified QR code
myVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html");
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
Imports System.Drawing
' Generate QR code with logo
Dim qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Dim myVerifiedQR As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
' Apply light color (may affect readability)
myVerifiedQR.ChangeBarCodeColor(Color.LightBlue)
' Verify the QR code can still be scanned
If Not myVerifiedQR.Verify() Then
Console.WriteLine("LightBlue is not dark enough to be read accurately. Let's try DarkBlue")
myVerifiedQR.ChangeBarCodeColor(Color.DarkBlue)
End If
' Save verified QR code
myVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html")
`` yöntemi, QR kodunuzda kapsamlı bir tarama testi gerçekleştirir. Bu, farklı tarama cihazları ve aydınlatma koşulları arasında uyumluluğu dağıtımdan önce güvence altına alır.
Güvenilir tarama için uygun kontrastı gösteren koyu mavi QR kodu, başarılı şekilde doğrulandı
QR Kodlarında İkili Veri Nasıl Kodlanır?
QR kodları, ikili verileri verimli bir şekilde depolamada yetkindir. Bu yetenek, şifreli veri aktarımı, dosya paylaşımı ve IoT cihaz yapılandırması gibi gelişmiş uygulamaları mümkün kılar:
using IronBarCode;
using System;
using System.Linq;
// Convert string to binary data
byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
// Create QR code from binary content
QRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png");
// Read and verify binary data integrity
var myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();
// Confirm data matches original
if (binaryData.SequenceEqual(myReturnedData.BinaryValue))
{
Console.WriteLine("Binary Data Read and Written Perfectly");
}
else
{
throw new Exception("Data integrity check failed");
}
using IronBarCode;
using System;
using System.Linq;
// Convert string to binary data
byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
// Create QR code from binary content
QRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png");
// Read and verify binary data integrity
var myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();
// Confirm data matches original
if (binaryData.SequenceEqual(myReturnedData.BinaryValue))
{
Console.WriteLine("Binary Data Read and Written Perfectly");
}
else
{
throw new Exception("Data integrity check failed");
}
Imports IronBarCode
Imports System
Imports System.Linq
' Convert string to binary data
Private binaryData() As Byte = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
' Create QR code from binary content
QRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png")
' Read and verify binary data integrity
Dim myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()
' Confirm data matches original
If binaryData.SequenceEqual(myReturnedData.BinaryValue) Then
Console.WriteLine("Binary Data Read and Written Perfectly")
Else
Throw New Exception("Data integrity check failed")
End If
QR kodlarında ikili kodlama birkaç avantaj sunar:
- Verimlilik: Verileri kompakt ikili formatta depolar
- Çok yönlülük: Herhangi bir veri türünü (dosyalar, şifreli içerik, seri nesneler) işler
- Bütünlük: Kodlama sorunları olmadan tam byte dizilerini korur
Bu özellik, IronBarcode'yi temel QR kodu kütüphanelerinden ayırır ve uygulamalarınızda gelişmiş veri alışverişi senaryolarına olanak tanır.
IronBarcode'un gelişmiş kodlama yeteneklerini gösteren ikili veri depolayan QR kodu
How Do I Read QR Codes in C#?
IronBarcode esnek QR kodu okuma yetenekleri sunar. İşte en basit yaklaşım:
using IronBarCode;
using System;
using System.Linq;
// Read QR code with optimized settings
BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() {
ExpectBarcodeTypes = BarcodeEncoding.QRCode
});
// Extract and display the decoded value
if (result != null && result.Any())
{
Console.WriteLine(result.First().Value);
}
else
{
Console.WriteLine("No QR codes found in the image.");
}
using IronBarCode;
using System;
using System.Linq;
// Read QR code with optimized settings
BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() {
ExpectBarcodeTypes = BarcodeEncoding.QRCode
});
// Extract and display the decoded value
if (result != null && result.Any())
{
Console.WriteLine(result.First().Value);
}
else
{
Console.WriteLine("No QR codes found in the image.");
}
Imports IronBarCode
Imports System
Imports System.Linq
' Read QR code with optimized settings
Private result As BarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {.ExpectBarcodeTypes = BarcodeEncoding.QRCode})
' Extract and display the decoded value
If result IsNot Nothing AndAlso result.Any() Then
Console.WriteLine(result.First().Value)
Else
Console.WriteLine("No QR codes found in the image.")
End If
Daha karmaşık, ince ayarlanmış kontrol gerektiren senaryolar için:
using IronBarCode;
using System;
using System.Linq;
// Configure advanced reading options
BarcodeReaderOptions options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster, // Optimize for speed
ExpectMultipleBarcodes = false, // Single QR code expected
ExpectBarcodeTypes = BarcodeEncoding.QRCode, // QR codes only
Multithreaded = true, // Enable parallel processing
MaxParallelThreads = 4, // Utilize multiple CPU cores
RemoveFalsePositive = true, // Filter out false detections
ImageFilters = new ImageFilterCollection() // Apply preprocessing
{
new AdaptiveThresholdFilter(), // Handle varying lighting
new ContrastFilter(), // Enhance contrast
new SharpenFilter() // Improve edge definition
}
};
// Read with advanced configuration
BarcodeResults result = BarcodeReader.Read("QR.png", options);
using IronBarCode;
using System;
using System.Linq;
// Configure advanced reading options
BarcodeReaderOptions options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster, // Optimize for speed
ExpectMultipleBarcodes = false, // Single QR code expected
ExpectBarcodeTypes = BarcodeEncoding.QRCode, // QR codes only
Multithreaded = true, // Enable parallel processing
MaxParallelThreads = 4, // Utilize multiple CPU cores
RemoveFalsePositive = true, // Filter out false detections
ImageFilters = new ImageFilterCollection() // Apply preprocessing
{
new AdaptiveThresholdFilter(), // Handle varying lighting
new ContrastFilter(), // Enhance contrast
new SharpenFilter() // Improve edge definition
}
};
// Read with advanced configuration
BarcodeResults result = BarcodeReader.Read("QR.png", options);
Imports IronBarCode
Imports System
Imports System.Linq
' Configure advanced reading options
Private options As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Faster,
.ExpectMultipleBarcodes = False,
.ExpectBarcodeTypes = BarcodeEncoding.QRCode,
.Multithreaded = True,
.MaxParallelThreads = 4,
.RemoveFalsePositive = True,
.ImageFilters = New ImageFilterCollection() From {
New AdaptiveThresholdFilter(),
New ContrastFilter(),
New SharpenFilter()
}
}
' Read with advanced configuration
Private result As BarcodeResults = BarcodeReader.Read("QR.png", options)
Bu gelişmiş okuma seçenekleri, zayıf aydınlatma, görüntü çarpıtma veya düşük kaliteli baskılar gibi zorlu koşullarda güvenilir QR kod algılamayı sağlar.
QR Kod Geliştirmenin Sıradaki Adımları Nelerdir?
IronBarcode ile QR kodu oluşturmayı öğrendiğinize göre, şimdi şu ileri düzey konuları keşfedin:
- PDF belgelerinden QR kodları çıkarın
- Toplu QR kod işleme uygulayın
- Zor taramalar için görüntü düzeltmeleri uygulayın
Kaynakları İndir
Tam kaynak kodlarına ve örneklere erişin:
API Dokümantasyonu
API referansında tam özellik setini keşfedin:
Alternatif: Gelişmiş QR Uygulamaları için IronQR
IronQR açıklama gerektiren projeler için makine öğrenimi destekli %99,99 doğrulukla okuma ve gelişmiş üretim seçenekleri sunan Iron Software'in uzmanlaşmış QR kod kütüphanesini göz önünde bulundurun.
QR kodlarını .NET uygulamanıza eklemeye hazır mısınız? Ücretsiz denemenizi başlatın veya Bugün IronBarcode'u indirin.
Sıkça Sorulan Sorular
C#'ta QR kodu nasıl oluşturabilirim?
IronBarcode'un QRCodeWriter.CreateQrCode() yöntemini kullanarak C# dilinde bir QR kod oluşturabilirsiniz. Bu yöntem size içerik, boyut ve hata düzeltme seviyesini geçirerek QR kodu verimli bir şekilde oluşturmanız için olanak tanır.
QR kodları hangi görüntü formatlarına aktarılabilir?
IronBarcode ile, QR kodlarını PNG, JPEG, PDF ve HTML gibi çeşitli formatlara aktarabilirsiniz. SaveAsPng(), SaveAsJpeg(), SaveAsPdf() ve SaveAsHtmlFile() gibi yöntemler bu amaçla kullanılabilir.
Bir şirket logosunu QR koduna nasıl eklerim?
IronBarcode, logonuzun doğru boyutlandırıldığından ve konumlandırıldığından emin olan CreateQrCodeWithLogo() yöntemini sunar. Bu kütüphane, logoyu doğru şekilde boyutlandırır ve QR kodunun okunabilirliğini korur.
QR kod hatası düzeltmesi nedir ve hangi seviyeyi seçmeliyim?
QR kod hatası düzeltmesi, QR kodlarının kısmen zarar görmeleri durumunda bile taranabilir kalmalarını sağlar. IronBarcode dört seviyeyi sunar: Düşük (7%), Orta (15%), Çeyreklik (25%) ve Yüksek (30%). Orta çoğu amaç için uygundur, Yüksek ise zorlu ortamlar için idealdir.
Özelleştirilmiş bir QR kodun taranabilirliğini nasıl doğrularım?
Renk değişiklikleri veya logo ekleme gibi özelleştirmelerden sonra QR kodunuzun taranabilirliğini sağlamak için, GeneratedBarcode nesnesi üzerindeki Verify() yöntemini kullanabilirsiniz.
QR kodlarında ikili veri kodlanabilir mi?
Evet, IronBarcode'un CreateQrCode() metodu, dosyalar veya şifrelenmiş içerikler gibi ikili verileri QR kodları içinde depolamanızı sağlar.
C#'ta görüntülerden QR kodları nasıl okunur?
C#'ta görüntülerden QR kodlarını okumak için, IronBarcode'un BarcodeReader.Read() yöntemini kullanın. Optimize edilmiş performans için, BarcodeReaderOptions içindeki BarcodeEncoding.QRCode'u belirtin.
Bir QR kodunun maksimum veri kapasitesi nedir?
IronBarcode tarafından oluşturulan QR kodları, seçilen hata düzeltme seviyesine bağlı olarak 2.953 bayt, 4.296 alfanumerik karakter veya 7.089 sayısal rakam tutabilir.
Bir QR kodun rengini değiştirirken okunabilir kalmasını nasıl sağlarsınız?
IronBarcode içindeki ChangeBarCodeColor() yöntemi, bir QR kodun rengini değiştirmenizi sağlar. Renk değişikliğinin QR kodunun okunabilirliğini etkilemediğini doğrulamak için her zaman ardından Verify() yöntemini kullanın.
Özel bir QR kod kütüphanesi hangi özellikleri sunar?
IronQR, Iron Software'den özel bir kütüphane, %99.99 doğrulukla makine öğrenimi destekli QR kod okuma ve karmaşık uygulamalar için özel olarak hazırlanmış güçlü üretim yetenekleri gibi gelişmiş özellikler içerir.

