C#'ta QR Kodları ve Barkodlar Nasıl Üretilir

Generate QR Codes in C# - Complete Tutorial for .NET Developers

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

  1. IronBarcode aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package BarCode
  2. 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");
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronBarcode kullanmaya başlayın

    arrow pointer

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

NuGet aracılığıyla yükleyin

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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.

C# ile IronBarcode kullanılarak oluşturulmuş standart QR kodu '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
$vbLabelText   $csharpLabel

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.

Visual Studio logosu gömülü QR kodu 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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.

Koyu mavi renklendirme ve Visual Studio logosu bulunan doğrulanmış QR kodu 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
$vbLabelText   $csharpLabel

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.

İkili kodlanmış veri içeren QR kodu 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
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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:

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.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 2,331,688 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package BarCode
bir örnek çalıştır dizginizin barkoda dönüştüğünü izle.