WPF'de QR Kodu Tarayıcısı Nasıl Yapılır
Windows Presentation Foundation (WPF), XAML tanımlı UI'lere sahip Windows masaüstü uygulamaları oluşturmak için bir .NET çerçevesidir. IronQR, WPF'ye doğrudan entegre olarak kullanıcının seçtiği resim dosyalarından QR kodu tarama imkanı sunar. Bunun için sadece birkaç satır C# kodu yeterlidir.
Bu kılavuzda, bir dosya diyaloğu açan, bir resim yükleyen ve IronQR kullanarak yerleştirilmiş bir QR kodunu çözen bir WPF uygulaması oluşturacağız. Yöntem, PNG, JPEG, BMP, GIF, TIFF ve diğer yaygın resim formatlarını destekler.
WPF'de QR Kodu Nasıl Tarayılır
- NuGet üzerinden IronQR C# kütüphanesini yükleyin
- XAML içinde WPF penceresine bir
ButtonveTextBlockekleyin - Diskte bir resim seçmek için
OpenFileDialogile dosya diyaloğunu açın AnyBitmap.FromFileile görüntüyü yükleyin ve birQrImageInputiçine sarınReadçağrısında bulunun ve çözümlenen değeriTextBlockiçinde gösterin
Gereksinimler
- Visual Studio 2022 ile .NET masaüstü geliştirme iş yükü yüklenmiş
- .NET 8 veya üzerini hedefleyen bir WPF projesi
IronQR Kurulumu
IronQR kütüphanesini Visual Studio'daki NuGet Paket Yöneticisi Konsolu'nu kullanarak yükleyin. Tools > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu bölümüne gidin ve çalıştırın:
Install-Package IronQR
Alternatif olarak, NuGet'te IronQR'yi arayın ve en son sürümü yükleyin.
WPF Pencere Düzeni
Tarayıcı kullanıcı arayüzü, dosya iletişim kutusunu tetiklemek için Button ve kod çözülmüş sonucu görüntülemek için TextBlock kullanır. MainWindow.xaml'ye aşağıdaki işaretlemeyi ekleyin:
<StackPanel Margin="28" VerticalAlignment="Center">
<TextBlock Text="WPF QR Code Scanner" FontSize="20" FontWeight="Bold" Margin="0,0,0,16"/>
<Button x:Name="ScanButton"
Content="Select Image and Scan QR Code"
Click="OnScanButtonClicked"
Padding="12,8"
Margin="0,0,0,16"
HorizontalAlignment="Left"/>
<TextBlock x:Name="ResultLabel"
Text="Select an image to scan."
TextWrapping="Wrap"
FontSize="14"/>
</StackPanel>
<StackPanel Margin="28" VerticalAlignment="Center">
<TextBlock Text="WPF QR Code Scanner" FontSize="20" FontWeight="Bold" Margin="0,0,0,16"/>
<Button x:Name="ScanButton"
Content="Select Image and Scan QR Code"
Click="OnScanButtonClicked"
Padding="12,8"
Margin="0,0,0,16"
HorizontalAlignment="Left"/>
<TextBlock x:Name="ResultLabel"
Text="Select an image to scan."
TextWrapping="Wrap"
FontSize="14"/>
</StackPanel>
Örnek Giriş
Aşağıdaki QR kodunu test görüntüsü olarak kullanın. Cihazınıza kaydedin, dosya diyaloğu aracılığıyla seçin ve Resim Seç ve QR Kodu Tara düğmesine tıklayın. Kodlanan değer https://ironsoftware.com. olarak görüntülenmelidir.**
Örnek QR kodu — https://ironsoftware.com kodlar
IronQR ile QR Kod Tarama
Düğmeye tıklandığında, OnScanButtonClicked bir dosya iletişim kutusu açarak resim seçilmesini sağlar. Seçilen dosya AnyBitmap içine yüklenir, QrReader.Read'ye aktarılır ve ilk kod çözülmüş değer ResultLabel'ye yazılır.
Aşağıdaki OnScanButtonClicked yöntemini MainWindow.xaml.cs'ye ekleyin:
:path=/static-assets/qr/content-code-examples/get-started/wpf-qr-code-scanner.cs
using IronQr;
using IronSoftware.Drawing;
using Microsoft.Win32;
using System.Windows;
private void OnScanButtonClicked(object sender, RoutedEventArgs e)
{
// Open a file dialog to select a QR code image
var dialog = new OpenFileDialog
{
Title = "Select a QR code image",
Filter = "Image Files|*.png;*.jpg;*.jpeg;*.bmp;*.gif;*.tiff"
};
if (dialog.ShowDialog() != true) return;
var imageSource = dialog.FileName;
// Load the image into IronQR
var inputBmp = AnyBitmap.FromFile(imageSource);
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(inputBmp);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the input and get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
// Display the first result
var firstResult = results.FirstOrDefault();
ResultLabel.Text = firstResult != null
? "Scanned Text: " + firstResult.Value
: "No QR code found in the selected image.";
}
Imports IronQr
Imports IronSoftware.Drawing
Imports Microsoft.Win32
Imports System.Windows
Private Sub OnScanButtonClicked(sender As Object, e As RoutedEventArgs)
' Open a file dialog to select a QR code image
Dim dialog As New OpenFileDialog With {
.Title = "Select a QR code image",
.Filter = "Image Files|*.png;*.jpg;*.jpeg;*.bmp;*.gif;*.tiff"
}
If dialog.ShowDialog() <> True Then Return
Dim imageSource As String = dialog.FileName
' Load the image into IronQR
Dim inputBmp As AnyBitmap = AnyBitmap.FromFile(imageSource)
' Load the asset into QrImageInput
Dim imageInput As New QrImageInput(inputBmp)
' Create a QR Reader object
Dim reader As New QrReader()
' Read the input and get all embedded QR Codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Display the first result
Dim firstResult As QrResult = results.FirstOrDefault()
ResultLabel.Text = If(firstResult IsNot Nothing, "Scanned Text: " & firstResult.Value, "No QR code found in the selected image.")
End Sub
OpenFileDialog, yaygın görüntü formatlarına göre filtrelenmiş yerel Windows dosya seçimi sağlar. AnyBitmap.FromFile, PNG, JPEG, BMP, GIF ve TIFF girdileri için format kod çözme işlemini gerçekleştirirken, QrReader.Read, algılanan her QR kodu için bir giriş içeren bir IEnumerable<QrResult> döndürür. FirstOrDefault, geçerli bir QR kodu bulunmadığında null değerini güvenli bir şekilde döndürür ve geçerli QR kodu olmayan görüntülerde istisnalara yol açmaz.
Çıktı
Bir QR kodu görüntüsü seçip tarama düğmesine tıkladıktan sonra, kod çözülmüş değer düğmenin altındaki TextBlock bölümünde görünür.
WPF penceresinde çözümlenen QR kodu değeri
Projeyi İndir
Sonuç
IronQR, minimum kurulumla bir WPF uygulamasına entegre olur — tek bir QrReader.Read çağrısı, masaüstündeki tüm kod çözme sürecini yönetir. Tek bir görüntüden birden fazla QR kodunu taramak için, FirstOrDefault çağrısı yapmak yerine tüm sonuç koleksiyonunu yineleyin.
Bu aynı model, bir görüntü dosyaları dizini içinden döngü yaparak toplu işlemeye veya bir WPF medya öğesi ile bir webcam kaynağından kareler yakalayarak gerçek zamanlı taramaya kadar genişletilebilir.
QR kodlarını okuma ve mevcut tarama modları hakkında daha fazla bilgi için Görüntüden QR Kodları Okuma ve Tarama Modlarıyla QR Kodları Okuma kılavuzlarına bakın.
Sıkça Sorulan Sorular
WPF QR Code Scanner Tutorial ne hakkında?
WPF QR Code Scanner Tutorial, IronQR kullanarak bir QR kodu tarayıcı oluşturma konusunda adım adım bir rehber sunar. Görüntü seçiminde OpenFileDialog ve QR kodlarının çözümü için QrReader.Read işlevini nasıl kullanacağınızı açıklar.
IronQR, WPF uygulamasında QR kodu taramasını nasıl kolaylaştırır?
IronQR, OpenFileDialog aracılığıyla seçilen görüntülerden QR kodlarını etkili bir şekilde çözmek için QrReader.Read gibi araçlar sunarak, WPF uygulamasında QR kodu taramasını basitleştirir.
WPF'de bir QR kodu tarayıcı oluşturmak için gereken ana bileşenler nelerdir?
IronQR ile WPF'de bir QR kodu tarayıcı oluşturmak için gereken ana bileşenler, görüntü seçimi için OpenFileDialog ve QR kodu çözümü için QrReader.Read yöntemidir.
IronQR, farklı görüntü formatlarından QR kodlarını çözebilir mi?
Evet, IronQR çeşitli görüntü formatlarından QR kodlarını çözebilir, böylece WPF uygulamalarında çeşitli dosya türlerinden gelebilecek görüntüler için kullanımı esnek hale getirir.
IronQR, mevcut WPF uygulamalarıyla entegre edilebilir mi?
Kesinlikle, IronQR mevcut WPF uygulamalarına entegre edilebilir ve geliştiricilerin QR kodu tarama yeteneklerini mevcut sistemlerini değiştirmeden eklemelerine olanak tanır.
IronQR'nin WPF geliştirme için uygun olmasını sağlayan nedir?
IronQR, kullanım kolaylığı, sağlam QR kodu çözme yetenekleri ve Windows masaüstü uygulamalarına sorunsuz entegrasyonu ile WPF geliştirme için uygundur.
OpenFileDialog, WPF QR kodu tarayıcısında kullanıcı deneyimini nasıl geliştirir?
OpenFileDialog, görüntü dosyalarını kolayca seçmek için basit bir arayüz sağlayarak kullanıcı deneyimini geliştirir, bu dosyalar daha sonra QR kodlarını çözmek için IronQR tarafından işlenebilir.
QR kodu tarama sürecinde QrReader.Read'in rolü nedir?
QrReader.Read, seçilen görüntüden QR kodunu çözerken IronQR'nin gelişmiş çözme algoritmalarıyla, QR kodu tarama sürecinde kritik bir rol oynar.
WPF uygulamasında IronQR'yi kullanmak için önkoşullar nelerdir?
WPF uygulamasında IronQR'yi kullanmak için, geliştiricilerin WPF geliştirme konusunda temel bir anlayışa ve C# bilgisine sahip olması gerekir. IronQR'nin anlaşılması kolay API'si, çeşitli beceri seviyelerindeki geliştiriciler için erişilebilir kılar.
IronQR, QR kodu çözmede doğruluğu nasıl sağlar?
IronQR, çeşitli QR kodu karmaşıklıklarını ve görüntü kalitesini etkili bir şekilde ele alacak şekilde tasarlanmış olan gelişmiş algoritmalarıyla QR kodu çözmede doğruluğu sağlar.

