Write QR Codes in C
Giriş
IronQR ile geliştiriciler, popüler resim formatları için QR kodları oluşturabilir ve bunları arka plan renkleri, kenar boşlukları, logolarla özelleştirip hatta PDF'lere ekleyebilir. Gelişmiş kullanım için, hata düzeltme ve sürümler üzerinde kontrol de sunar.
Bu makale, C#'da QR kodları yazmak için IronQR'yi nasıl kullanacağınızı anlamanıza yardımcı olacak örneklerle birlikte IronQR'nin kilit özelliklerini keşfedecektir.
İçindekiler
- Giriş Verileri
- QR Kodlarını Dışa Aktar
- QR Kod Seçenekleri
- QR Kod Stilinizasyon
!{--0100110001001001010000100101001001000001010100100101100101011111--}
Giriş Verileri
Metin, URL'ler, Numaralar
IronQR, metin, URL'ler ve numaralar dahil olmak üzere birçok veri türünü QR kodlarına dönüştürebilir. İster pazarlama ve iletişim için QR kod bağlantıları veya metin, ister envanter yönetimi için sayısal kodlar, isterse de ikili verileri veya akışları okunabilir QR kodlarına kodlama olsun, IronQR ihtiyaçınız olan tüm desteği sağlar.
Ayrıca, API basittir. QrWriter sınıfı, farklı veri türlerini girdi olarak kabul eden birkaç aşırı yükleme sunduğundan, karmaşıklığı azaltır ve süreci kolaylaştırır.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-1.cs
using IronQr;
using IronSoftware.Drawing;
string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/qr/";
string alphanumeric = "WATERSKU-12356";
// Create QR code
QrCode textQr = QrWriter.Write(text);
// Save QR code as a bitmap
AnyBitmap textQrImage = textQr.Save();
// Save QR code as file
textQrImage.SaveAs("textQr.png");
QrCode urlQr = QrWriter.Write(url);
AnyBitmap urlQrImage = urlQr.Save();
urlQrImage.SaveAs("urlQr.png");
QrCode alphanumericQr = QrWriter.Write(alphanumeric);
AnyBitmap alphanumericQrImage = alphanumericQr.Save();
alphanumericQrImage.SaveAs("alphanumericQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/qr/"
Private alphanumeric As String = "WATERSKU-12356"
' Create QR code
Private textQr As QrCode = QrWriter.Write(text)
' Save QR code as a bitmap
Private textQrImage As AnyBitmap = textQr.Save()
' Save QR code as file
textQrImage.SaveAs("textQr.png")
Dim urlQr As QrCode = QrWriter.Write(url)
Dim urlQrImage As AnyBitmap = urlQr.Save()
urlQrImage.SaveAs("urlQr.png")
Dim alphanumericQr As QrCode = QrWriter.Write(alphanumeric)
Dim alphanumericQrImage As AnyBitmap = alphanumericQr.Save()
alphanumericQrImage.SaveAs("alphanumericQr.png")
İkili & Akışlar
Benzer şekilde, daha önce bahsedilen Write yöntemiyle ikili verileri ve akışları QR kodlarına dönüştürebiliriz.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-2.cs
using IronQr;
using IronSoftware.Drawing;
using System.Text;
byte[] bytes = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/");
// Create QR code
QrCode bytesQr = QrWriter.Write(bytes);
// Save QR code as a bitmap
AnyBitmap qrImage = bytesQr.Save();
// Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Text
Private bytes() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/")
' Create QR code
Private bytesQr As QrCode = QrWriter.Write(bytes)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = bytesQr.Save()
' Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png")
class Program
{
static void Main()
{
// Bir QR kodu yazar örneği oluştur
QrWriter writer = QrWriter.CreateQrCode();
// Örnek ikili veri byte[] data = { 0x01, 0x02, 0x03, 0x04 };
// İkili veriyi QR koduna yaz writer.Write(data) .SaveAs("binary-qr.png");
// Bir hafıza akışını kullanma örneği using (MemoryStream stream = new MemoryStream(data)) { writer.Write(stream) .SaveAs("stream-qr.png"); } } }
Write yöntemi, hem byte dizileri hem de akışlar olarak girdi kabul eden aşırı yüklemelere sahiptir. Akışlar için, byte dizisinden bir MemoryStream oluşturabilir ve ardından bunu bir QR koduna dönüştürebiliriz. Bu, kullanıcıların veri parçaları üzerinde daha ince bir kontrol gerektirdiğinde faydalıdır, çünkü akışlar bellek açısından daha verimli olabilir.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-3.cs
using IronQr;
using IronSoftware.Drawing;
using System.IO;
using System.Text;
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"));
// Create QR code
QrCode streamQr = QrWriter.Write(stream);
// Save QR code as a bitmap
AnyBitmap streamQrImage = streamQr.Save();
// Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.IO
Imports System.Text
Private stream As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"))
' Create QR code
Private streamQr As QrCode = QrWriter.Write(stream)
' Save QR code as a bitmap
Private streamQrImage As AnyBitmap = streamQr.Save()
' Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png")
QR Kodlarını Dışa Aktar
IronQR, farklı dosya formatları gerektiren çeşitli kullanım durumlarına esnek bir şekilde uyum sağlar. SaveAs yöntemini kullanarak QR kodlarını JPG, PNG, GIF ve TIFF gibi çeşitli formatlarda kaydedebilirsiniz.
Resim Olarak Kaydet
SaveAs yöntemi, sağlanan dosya yoluna göre dosya formatını otomatik olarak algılar. Bu örnekte, .png ile biten bir dosya yolu belirttim.
SaveAs yöntemini kullanırken, varsayılan bir resim formatının olmadığını lütfen unutmayın. Eğer tanınmayan bir uzantı girerseniz veya dosya yolunda bir yazım hatası yaparsanız, resim yanlış uzantıyla kaydedilecektir.:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-4.cs
using IronQr;
using IronSoftware.Drawing;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qr.png")
System.Drawing.Images
Görüntüleri Microsoft'un System.Drawing.Images nesnesine dönüştürmek, QR kodunu bir dosya yoluna kaydetmek için Bitmap sınıfını kullanmanıza olanak tanır. Bu örnekte, Save yöntemi QR kodunu qrBitmap.png yoluna bir PNG dosyası olarak kaydeder.
System.Drawing.Common yalnızca Windows platformunda desteklenir.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-5.cs
using IronQr;
using System.Drawing;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
// Save QR code as a bitmap
Bitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.Save("qrBitmap.png");
Imports IronQr
Imports System.Drawing
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
' Save QR code as a bitmap
Private qrImage As Bitmap = qr.Save()
' Save QR code bitmap as file
qrImage.Save("qrBitmap.png")
IronSoftware.Drawing
System.Drawing.Common çapraz platform uyumluluğunun olmaması nedeniyle, geliştiriciler farklı platformlar arasında uygulamaları sürdürüken sorunlar yaşayabilirler. IronQR, hem System.Drawing.Common hem de IronSoftware.Drawing kullanabilir.
IronQR, IronSoftware.Drawing evrensel olarak uyumlu ve aşağıdaki gibi örtük olarak atanan bir Bitmap sınıfından AnyBitmap sınıfını kullanır:
System.Drawing.BitmapSystem.Drawing.ImageSkiaSharp.SKBitmapSixLabors.ImageSharpMicrosoft.Maui.Graphics.Platform.PlatformImage
Bu güçlü açık kaynaklı kütüphane ile IronQR, .NET 8, .NET 7, .NET 6, .NET 5, .NET Core, .NET Standard ve .NET Framework 4.6.2+ ile çapraz platform desteğine ve uyumluluğuna ulaşır. Kütüphane hakkında daha fazla bilgi edinmek için lütfen IronSoftware.Drawing web sitesine bakın.
PDF Üzerine Damgala
IronQR, geliştiricilerin QR kodlarını mevcut PDF belgelerine damgalamalarına olanak tanır, bu da diğerlerinin linkleri veya ek kaynaklara hızlıca erişimini kolaylaştırır. Hem tek sayfa hem de çoklu sayfalara QR kodu damgalama desteklenir.
Tek Sayfaya Damgala
QR kodunu oluşturduktan sonra, QrCode nesnesinden StampToExistingPdfPage yöntemini çağırın. Bu yöntemin dosya yolu, koordinatlar (x ve y), sayfa numarası ve PDF şifre korumalıysa isteğe bağlı bir şifre gerektirir. Argümanlar sağlandığında, yöntem QR kodunu damgalar ve PDF'yi kaydeder.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-6.cs
using IronQr;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
string filepath = "example.pdf";
int x = 100;
int y = 150;
int page = 1;
// Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page);
Imports IronQr
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private page As Integer = 1
' Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page)
Birden Fazla Sayfaya Damgala
Yukarıdaki örneğe benzer şekilde, ana fark, StampToExistingPdfPages yönteminin yalnızca bir sayfa numarası yerine bir sayfa numaraları listesi almasıdır.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-7.cs
using IronQr;
using System.Collections.Generic;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
string filepath = "example.pdf";
int x = 100;
int y = 150;
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
pages.Add(4);
// Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages);
Imports IronQr
Imports System.Collections.Generic
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
pages.Add(4)
' Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages)
Her İki Örnekten Çıktı

QR Kod Seçenekleri
IronQR, QR kodu davranışı ve işlevselliğini ince ayar yapmak için kapsamlı özelleştirme seçenekleri sunar. QrOptions sınıfı, versiyon kontrolü, kodlama türü, karakter kodlama ve hata düzeltme seviyeleri gibi çeşitli parametreler sağlar. Bu seçeneklere daha ayrıntılı bakalım.
Kodlama
IronQR, hem oluşturma hem de okuma için birden fazla QR kod tipini destekler. Desteklenen türler aşağıdadır:
QRCode: Bugün yaygın olarak kullanılan standart QR kodudur. 7.089 sayısal karakter veya 4.296 alfasayısal karakter saklayabilir.MicroQRCode: Blok QR kodunun daha küçük bir versiyonu olan bu format, 35'e kadar sayısal karakter veya 21 alfanümerik karakter depolayabilir.RMQRCode: Dikdörtgen Mikro QR Kodu, QR kodunun kompakt bir versiyonudur ve oranında esneklik sunar.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-8.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change encoding to micro QR code
Encoding = IronQr.Enum.QrEncoding.MicroQRCode,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.Encoding = IronQr.Enum.QrEncoding.MicroQRCode}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Hata Düzeltme
IronQR, üretilen tüm QR kodlarının katı koşullarda dahi hata toleransı yüksek ve güvenilir olmasını sağlamak için standart QR hata düzeltmesi kullanır. Ayrıca, IronQR hata düzeltme seviyesini daha da ince ayarlamak için tam kontrol sağlar.
QrErrorCorrectionLevel tarafından sağlanan hata düzeltme için dört seviye mevcuttur:
Highest: %30 hata düzeltmeHigh: %25 hata düzeltmeMedium: %15 hata düzeltmeLow: %7 hata düzeltme
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-9.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change error correction level to medium
ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Daha yüksek hata düzeltme, QR kodunu okurken daha fazla hata toleransı sağlayarak, düşük hata düzeltmeli bir koda göre daha düşük çözünürlüklerde taranma olasılığını artırır. Kullanım durumlarınıza bağlı olarak test edebilirsiniz.

QR Kod Sürümü
Daha fazla veri depolamak için QR kod sürümünü ayarlayabilirsiniz. Daha yüksek sürümler envanter veya lojistik için idealdir, daha düşük sürümler ise kısa URL'ler gibi daha küçük veriler için uygundur. Sadece QrOptions nesnesindeki Version özelliğini değiştirin ve bunu ihtiyaçlarınıza göre QR kodunu oluşturmak için Write yöntemine aktarın.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-10.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change QR code version to 40
Version = 40,
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.Version = 40}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")

Çıktıdan görebileceğiniz gibi, versiyon 40 QR kodu versiyon 5'e göre oldukça karmaşık ve yoğundur.
Düşük versiyonlar daha hassas tarama gerektirir ve yüksek çözünürlük tarayıcılar olmadan taraması zor olabilir. Ancak, yüksek versiyonlar daha kolay taranır, hatta düşük çözünürlüklü kameralarla bile. Kapasiteye göre QR versiyonunu seçmek için daha ayrıntılı bir rehber için lütfen QR versiyon listesine bakın.
Karakter Kodlaması
Bu seçenek, QR kodunun nasıl kodlandığını belirler. Örneğimizde, varsayılan karakter kodlaması 'ISO-8859-1' iken, biz bunu 'UTF-32' olarak değiştirdik.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-11.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change character encoding to UTF-32
CharacterEncoding = "UTF-32"
};
// Create QR code
QrCode qr = QrWriter.Write("1234", options);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.CharacterEncoding = "UTF-32"}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
QR Kod Stili
Kullanım kolaylığı sağlayan yöntemler ve girdi verilerini işlemekteki esnekliğinin yanı sıra, IronQR, QR kodlarını benzersiz hale getirmek için özelleştirme ve stil seçenekleri sunar. QrStyleOptions sınıfı, bir QR kodunun tüm yönlerini özelleştirmek için çeşitli parametreler sağlar. Mevcut seçenekleri inceleyelim.
Boyutlandırma
QR kodunu yeniden boyutlandırmak için, QrStyleOptions nesnesinin Dimensions özelliğini ayarlayabilir ve ardından bu özelliği Save yöntemine geçirebilirsiniz. Varsayılan olarak, QR kodu 300px olarak kaydedilir. Bu örnekte, QR kodunu 300px yerine 600px olarak kaydettik.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-12.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change the dimensions to 600px
Dimensions = 600,
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {.Dimensions = 600}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png")

Kenar Boşlukları & Sınırlar
Kenarlıkları ve boşlukları ayarlamak için, QrStyleOptions sınıfının Margins özelliğini kullanabiliriz. Bu özellik, QR kodunun tüm taraflarındaki kenar boşluklarını kontrol eder ve varsayılan değeri 10px'dir. Örneğimizde, kenar boşluğunu 20px olarak ayarladık.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-13.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change margins to 20px
Margins = 20
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {.Margins = 20}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")

Her Taraf İçin Kenar Boşluklarını Değiştirin
IronQR, kullanıcıların her taraf için farklı kenar boşlukları belirlemesine de olanak tanır ve daha ayrıntılı kontrol sağlar.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-14.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change margins
MarginBottom = 30,
MarginTop = 100,
MarginRight = 40,
MarginLeft = 20,
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {
.MarginBottom = 30,
.MarginTop = 100,
.MarginRight = 40,
.MarginLeft = 20
}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
Renk Değiştirme
QR koduna ve arka planına renkler eklemek için QrStyleOptions sınıfını kullanabiliriz. Renkleri özelleştirmek, QR kodunu daha benzersiz ve dikkat çekici hale getirir. Color ve BackgroundColor özelliklerini kullanarak rengi değiştirebilirsiniz. Atanacak mevcut renklerin bir listesini almak için IronSoftware.Drawing'i içe aktardığınızdan emin olun.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;
// Load new logo image
AnyBitmap logo = AnyBitmap.FromFile("sample.png");
// Add new logo to QR code style options
QrStyleOptions styleOptions = new QrStyleOptions()
{
Logo = new QrLogo(logo, 50, 50, 10),
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing
' Load new logo image
Dim logo As AnyBitmap = AnyBitmap.FromFile("sample.png")
' Add new logo to QR code style options
Dim styleOptions As New QrStyleOptions() With {
.Logo = New QrLogo(logo, 50, 50, 10)
}
Dim url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Dim qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Dim qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")

Bir Logo Ekle
Renkler ve boyutların yanı sıra, şirket logonuzu da QR koduna uygulayabilirsiniz. Bu, kullanıcıların QR kodunu hemen tanımasını ve markanızla ilişkilendirmesini sağlar. Logo özelliği, şirketinizin logosunu ekleyerek bir QR kodunu kolayca özelleştirmenizi sağlar.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;
// Load new logo image
AnyBitmap logo = AnyBitmap.FromFile("sample.png");
// Add new logo to QR code style options
QrStyleOptions styleOptions = new QrStyleOptions()
{
Logo = new QrLogo(logo, 50, 50, 10),
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing
' Load new logo image
Dim logo As AnyBitmap = AnyBitmap.FromFile("sample.png")
' Add new logo to QR code style options
Dim styleOptions As New QrStyleOptions() With {
.Logo = New QrLogo(logo, 50, 50, 10)
}
Dim url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Dim qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Dim qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")

Logoyu Özelleştirme
QrLogo sınıfı, logonun görünümünü daha da özelleştirmenizi sağlar. Aşağıda mevcut özellikler bulunmaktadır:
Bitmap: Logo olarak kullanmak istediğiniz resmi temsil eder.Width: Logonun genişliğini temsil eder. Varsayılan değer 0'dır.Height: Logonun yüksekliğini temsil eder. Varsayılan değer 0'dır.CornerRadius: Logonun köşelerinin yuvarlatılması için yarıçapı temsil eder. Varsayılan olarak 0'a ayarlanmıştır, yani logo kare köşe olacaktır.
using IronQRCode;
using IronSoftware.Drawing;
class Program
{
static void Main()
{
`QrStyleOptions` styleOptions = new `QrStyleOptions`
{
`Logo` = new `QrLogo`
{
`Bitmap` = `AnyBitmap.FromBitmap`("path/to/logo.png"),
`Width` = 50,
`Height` = 50,
`CornerRadius` = 5
}
};
`QrCode` qr = `QrWriter.CreateQrCode`()
.Write("Customized Logo Example");
qr.SaveAs("example-customized-logo-qr.png", styleOptions);
}
}
using IronQRCode;
using IronSoftware.Drawing;
class Program
{
static void Main()
{
`QrStyleOptions` styleOptions = new `QrStyleOptions`
{
`Logo` = new `QrLogo`
{
`Bitmap` = `AnyBitmap.FromBitmap`("path/to/logo.png"),
`Width` = 50,
`Height` = 50,
`CornerRadius` = 5
}
};
`QrCode` qr = `QrWriter.CreateQrCode`()
.Write("Customized Logo Example");
qr.SaveAs("example-customized-logo-qr.png", styleOptions);
}
}
Imports IronQRCode
Imports IronSoftware.Drawing
Class Program
Shared Sub Main()
Dim styleOptions As New QrStyleOptions With {
.Logo = New QrLogo With {
.Bitmap = AnyBitmap.FromBitmap("path/to/logo.png"),
.Width = 50,
.Height = 50,
.CornerRadius = 5
}
}
Dim qr As QrCode = QrWriter.CreateQrCode().Write("Customized Logo Example")
qr.SaveAs("example-customized-logo-qr.png", styleOptions)
End Sub
End Class
Hata Toleransını Kontrol Etme
Dosya formatlarında ve özelleştirmelerde geniş bir esneklikle birlikte, hata ayıklama ve hata yönetimi alanında da esneklik sunulmaktadır. IronQR, geliştiricilerin istisnaları yönetmesi ve uygulamaları doğrulamak için birim testleri yazması için çeşitli araçlar sağlar.
CheckSums
QR kodları bazen zarar görebilir, ancak IronQR, bunları işlevsel tutabilmek için yerleşik kontrol ve veri düzeltme sunar. QR kodlarının hataya dayanıklı kalmasını garanti eden Reed-Solomon hata düzeltme algoritması kullanılır.
Detaylı Hata Mesajları
IronQR, kullanıcıların sorunları hızlıca tanımlamasına yardımcı olan detaylı hata mesajları sağlar. Bu mesajlar, hata ayıklama ve sorun çözmeyi daha basit ve kolay hale getiren belirli istisnaların bir listesini içerir. Aşağıda, kütüphane tarafından kullanılan IronQrException bir listesi bulunmaktadır.
IronQrEncodingException:IronQrExceptionalt sınıfı olarak, QR kodunu yazma esnasında bir sorun olduğunda meydana gelen hata. Örneğin, kullanıcı boş bir dizeden QR kodu oluşturmayı denediğinde görünür.

-
IronQrFileException:IronQrExceptionalt sınıfı olarak, bir dosya ile ilgili bir sorun çıktığında meydana gelen hata. IronQrPdfPasswordExcception:IronQrExceptionalt sınıfı olarak, kullanıcı bir PDF damgalamak istediğinde ve ya şifre sağlamadığında veya yanlış şifre sağladığında meydana gelen hata. Örnekte gösterildiği gibi, PDF açılamadığı durumlar gibi diğer PDF'le ilgili hataları da kapsar.

Sonuç
IronQR, .NET uygulamalarında QR kodları oluşturmak ve özelleştirmek için kapsamlı bir yöntem seti sunar. Güçlü özellikleriyle, geliştiriciler çeşitli veri kodlamaları, görsel stiller ve hata düzeltme seviyeleriyle kolayca QR kodları oluşturabilirler. Kütüphanenin geniş çıktı formatları desteği ve mevcut belgelere sorunsuz entegrasyonu, herhangi bir QR kod projesi için çok yönlü bir araç haline getirir. İhtiyacınız ister temel QR kodlar, isterse gelişmiş, markalı çözümler olsun, IronQR ihtiyaçlarınızı verimli bir şekilde karşılamak için esneklik ve işlevsellik sunar.
Daha fazla bilgi edinmek için IronQR belgelerine göz atın, bir ücretsiz deneme ile keşfetmeye başlayın ve hangi planın ihtiyaçlarınıza en uygun olduğunu görmek için lisans seçeneklerini inceleyin.
Sıkça Sorulan Sorular
C# içinde bir QR kodu nasıl oluştururum?
IronQR'da mevcut olan QrWriter sınıfını kullanarak C# içinde bir QR kodu oluşturabilirsiniz. Bu sınıf, verileri QR koduna yazmanıza ve onu çeşitli resim formatlarında kaydetmenize olanak tanır. Verilerinizi kodlamak için Write metodunu ve QR kodunu çıkış olarak almak için SaveAs metodunu kullanın.
QR kodlarına hangi tür özelleştirmeler uygulayabilirim?
IronQR, QR kodlarının renklerini değiştirerek, logolar ekleyerek, yeniden boyutlandırarak ve kenar boşluklarını ayarlayarak özelleştirmenize olanak tanır. Bu özelleştirmeleri uygulamak için QrStyleOptions sınıfını kullanın.
C# kullanarak bir PDF'ye QR kodu gömebilir miyim?
Evet, StampToExistingPdfPage ya da StampToExistingPdfPages yöntemlerini kullanarak IronQR ile bir PDF'ye QR kodu gömebilirsiniz. Bu, QR kodunun görünmesi gereken yeri ve sayfaları belirtmenizi sağlar.
QR kodları oluştururken hataları nasıl ele alabilirim?
IronQR, hata mesajları sunan sağlam hata ayıklama özelliklerine sahiptir, örneğin IronQrEncodingException, IronQrFileException ve IronQrPdfPasswordException sorunları giderme ve çözme konusunda yardımcı olur.
QR kodlarını hangi formatlarda dışa aktarabilirim?
IronQR kullanarak, QR kodlarını JPG, PNG, GIF ve TIFF dahil olmak üzere çeşitli formatlara dışa aktarabilirsiniz. SaveAs metodu, QR kodu çıktısı için istenen formatı belirtmenizi sağlar.
Bu kütüphane çapraz platform gelişimini destekliyor mu?
Evet, IronQR, IronSoftware.Drawing kütüphanesi aracılığıyla çapraz platform gelişimini destekler ve farklı .NET sürümleri ve platformları ile uyumludur.
Marka oluşturma amacıyla bir QR koduna logo eklemek mümkün mü?
IronQR kullanarak QrStyleOptions sınıfındaki Logo özelliğini ayarlayarak bir QR koduna logo ekleyebilirsiniz, özelleştirilmiş logo görünümleri ile markalanmış QR kodlarına olanak tanır.
QR kodlarında hata düzeltmenin amacı nedir?
IronQR'nin desteklediği QR kodlarında hata düzeltme, QR kodları kısmen zarar görse bile okunabilir kalmasını sağlar. Bu özellik, farklı kullanım senaryolarına uygun dört düzeltme seviyesi sunar: En Yüksek, Yüksek, Orta ve Düşük.
QR kodlarına hangi veri türleri kodlanabilir?
IronQR, QR kodlarına metin, URL'ler, numaralar, ikili veriler ve akışlar dahil olmak üzere çeşitli veri türlerini kodlayabilir, bu da temsil edebileceğiniz verilerde esneklik sağlar.
C# içinde bir URL ile QR kodu nasıl oluşturabilirim?
C# içinde bir URL ile QR kodu oluşturmak için IronQR'deki QrWriter sınıfını kullanın. URL'yi kodlamak için Write metodunu ve QR kodunu bir resim olarak saklamak için SaveAs metodunu kullanın.

