Generate QR Codes in C# - Complete Tutorial for .NET Developers
C# uygulamanızda QR kodları mı üretmeniz gerekiyor? Bu eğitim, basit bir satırlık uygulamalardan logo yerleştirme ve ikili veri kodlaması gibi gelişmiş özelliklere kadar IronBarcode kullanarak QR kodlarının nasıl oluşturulacağını, özelleştirileceğini ve doğrulanacağını tam olarak gösteriyor.
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şturmak mı istiyorsunuz? İşte IronBarcode'un QRCodeWriter API'sini kullanarak sadece bir satır kodla nasıl QR kodu üretebileceğiniz—özelleştirme isteğe bağlıdır ancak güçlüdür.
-
IronBarcode aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
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 bu basit komut ile IronBarcode 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:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-3.cs
using IronBarCode;
// You may add styling with color, logo images or branding:
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
// Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf");
// Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html");
Imports IronBarCode
' You may add styling with color, logo images or branding:
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
' Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf")
' Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html")
How Can I Create a Simple QR Code in C#?
Sadece bir satır kod ile IronBarcode'un CreateQrCode metodunu kullanarak bir QR kodu oluşturun:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-4.cs
using IronBarCode;
using IronSoftware.Drawing;
using System;
// Verifying QR Codes
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode MyVerifiedQR = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue);
if (!MyVerifiedQR.Verify())
{
Console.WriteLine("\t LightBlue is not dark enough to be read accurately. Lets try DarkBlue");
MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue);
}
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html");
// open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html");
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
' Verifying QR Codes
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private MyVerifiedQR As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue)
If Not MyVerifiedQR.Verify() Then
Console.WriteLine(vbTab & " LightBlue is not dark enough to be read accurately. Lets try DarkBlue")
MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue)
End If
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html")
' open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html")
CreateQrCode 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 kodu bütünlüğünü korumak için logoları otomatik olarak konumlandırır ve boyutlandırır:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-5.cs
using IronBarCode;
using System;
using System.Linq;
// Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
byte[] BinaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
// WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png");
// READ QR with Binary Content
var MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();
if (BinaryData.SequenceEqual(MyReturnedData.BinaryValue))
{
Console.WriteLine("\t Binary Data Read and Written Perfectly");
}
else
{
throw new Exception("Corrupted Data");
}
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports System
Imports System.Linq
' Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
Private BinaryData() As Byte = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
' WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png")
' READ QR with Binary Content
Dim MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()
If BinaryData.SequenceEqual(MyReturnedData.BinaryValue) Then
Console.WriteLine(vbTab & " Binary Data Read and Written Perfectly")
Else
Throw New Exception("Corrupted Data")
End If
CreateQrCodeWithLogo yöntemi, 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 çıktı formatını destekler. QR kodlarınızı görüntü, PDF veya HTML dosyaları olarak dışa aktarın:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-6.cs
using IronBarCode;
using System;
using System.Linq;
BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() { ExpectBarcodeTypes = BarcodeEncoding.QRCode });
if (result != null)
{
Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq
Private result As BarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {.ExpectBarcodeTypes = BarcodeEncoding.QRCode})
If result IsNot Nothing Then
Console.WriteLine(result.First().Value)
End If
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 okunabilir kalmasını sağlamak için Verify() yöntemini kullanın:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-7.cs
using IronBarCode;
using System;
using System.Linq;
BarcodeReaderOptions options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster,
ExpectMultipleBarcodes = false,
ExpectBarcodeTypes = BarcodeEncoding.All,
Multithreaded = false,
MaxParallelThreads = 0,
CropArea = null,
UseCode39ExtendedMode = false,
RemoveFalsePositive = false,
ImageFilters = null
};
BarcodeResults result = BarcodeReader.Read("QR.png", options);
if (result != null)
{
Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq
Private options As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Faster,
.ExpectMultipleBarcodes = False,
.ExpectBarcodeTypes = BarcodeEncoding.All,
.Multithreaded = False,
.MaxParallelThreads = 0,
.CropArea = Nothing,
.UseCode39ExtendedMode = False,
.RemoveFalsePositive = False,
.ImageFilters = Nothing
}
Private result As BarcodeResults = BarcodeReader.Read("QR.png", options)
If result IsNot Nothing Then
Console.WriteLine(result.First().Value)
End If
Verify() yöntemi, QR kodunuz üzerinde kapsamlı bir tarama testi yapar. 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:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-8.cs
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
Dim 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 kod kütüphanelerinden ayırır ve uygulamalarınızda karmaşık veri değişim senaryolarını mümkün kılar.
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 sağlar. İşte en basit yaklaşım:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-9.cs
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
Dim 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:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-10.cs
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
Dim options As New BarcodeReaderOptions With {
.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() From { ' Apply preprocessing
New AdaptiveThresholdFilter(), ' Handle varying lighting
New ContrastFilter(), ' Enhance contrast
New SharpenFilter() ' Improve edge definition
}
}
' Read with advanced configuration
Dim 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?
Artık IronBarcode ile QR kodu oluşturmayı öğrendiğinize göre, bu ileri 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.

