.NET MAUI QR Code Taraması
Giriş
.NET MAUI (.NET Multi-platform App UI), yerel mobil ve masaüstü uygulamalar oluşturmak için çapraz platform bir çerçevedir. Tek bir proje, Android, iOS, macOS ve Windows'u hedef alabilir ve tüm platformlar arasında UI düzenleri ve iş mantığını paylaşabilir. MAUI'nin .NET ekosistemi ile entegrasyonu, geliştiricilerin tanıdık araçları veya dilleri bırakmadan mobil kullanıcılara ulaşmasını sağlar.
Bu makalede, cihazın fotoğraf kütüphanesinden seçilen QR kodlarını çözümlemek için IronQR kullanarak bir .NET MAUI uygulamasında yerel bir QR kod tarayıcısını nasıl inşa edeceğimizi açıklayacağız.
.NET MAUI'de bir QR Kodu Tarayıcısı Oluşturma
- Mobilde QR kodlarını taramak için IronQR C# kütüphanesini kurun
MainPage.xamliçinde uygulama düzenini tasarlayın- Kullanıcının cihazdan bir QR kod görüntüsü seçmesine izin vermek için
FilePickerkullanın - Görüntüyü yükleyin ve bir
QrImageInputile sarın - İlk QR kodunu okuyun ve çözümlenen değeri bir
Labeliçinde gösterin
IronQR: C# QR Kod Kütüphanesi
Uygulamada QR kodlarını okumak için IronQR .NET kütüphanesini kullanacağız. Herhangi bir resim kaynağından, mobil cihazlarda seçilen dosyalar da dahil, QR kodlarını tespit etmek ve çözümlemek için basit bir API sağlar. IronQR, tüm MAUI hedef platformlarında çalışır ve entegrasyon için herhangi bir barkod alanı bilgisi gerektirmez.
IronQR standart QR kodları, Mikro QR kodları ve rMQR kodlarını çözebilir ve resim girişini dosya, akış ya da bitmap olarak kabul eder. NuGet Paket Yöneticisi üzerinden saniyeler içinde yüklenebilir.
.NET MAUI'de bir QR Kodu Tarayıcısı Oluşturma Aşamaları
.NET MAUI uygulamasına QR kod tarama özelliği eklemek için aşağıdaki adımları izleyin.
Ön Koşullar
- Visual Studio 2022 ile .NET MAUI iş yükü yüklenmiş
- Android veya iOS'u hedefleyen bir .NET MAUI projesi
IronQR Kurulumu
IronQR kütüphanesini Visual Studio'daki NuGet Paket Yöneticisi Konsolu'nu kullanarak yükleyin. Tools > NuGet Package Manager > Package Manager Console adresine gidin ve şunu çalıştırın:
Install-Package IronQR
Alternatif olarak, NuGet'te IronQR'yi arayın ve en son sürümü yükleyin.
Ön Yüz Tasarımı
Tarayıcı arayüzü, görüntü seçmeyi tetikleyen bir düğme, seçilen QR kodunu önizlemek için bir resim görünümü ve çözümlenen sonucu göstermek için bir etiket içerir.
MainPage.xaml içeriğini aşağıdakiyle değiştirin:
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiQrScanner.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="scanButton"
Text="Select QR Code Image"
SemanticProperties.Hint="Select Image"
Clicked="OnScanButtonClicked"
HorizontalOptions="Center" />
<Image
x:Name="qrImage"
SemanticProperties.Description="Selected QR Code"
HeightRequest="200"
HorizontalOptions="Center" />
<Label
x:Name="resultLabel"
Text="Scanned Text: "
HorizontalOptions="Center"
VerticalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiQrScanner.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="scanButton"
Text="Select QR Code Image"
SemanticProperties.Hint="Select Image"
Clicked="OnScanButtonClicked"
HorizontalOptions="Center" />
<Image
x:Name="qrImage"
SemanticProperties.Description="Selected QR Code"
HeightRequest="200"
HorizontalOptions="Center" />
<Label
x:Name="resultLabel"
Text="Scanned Text: "
HorizontalOptions="Center"
VerticalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Örnek Giriş
Aşağıdaki QR kodunu test görüntüsü olarak kullanın. Cihazınıza kaydedin, ardından uygulamanın dosya seçici üzerinden seçin. Çözülen değer https://ironsoftware.com şeklinde görüntülenmelidir.
Örnek QR kodu — https://ironsoftware.com kodlar
IronQR ile QR Kod Tarama
Tarama düğmesine dokunulduğunda, FilePicker cihazın resim kütüphanesini açar. Kullanıcı bir fotoğraf seçtikten sonra, tam yol AnyBitmap içine yüklenir ve bu da QrReader.Read()'ye aktarılır. İlk tespit edilen QR kodunun çözümlenen değeri sonuç etiketinde gösterilir.
MainPage.xaml.cs'ye aşağıdaki yöntemi ekleyin:
using IronQr;
using IronSoftware.Drawing;
private async void OnScanButtonClicked(object sender, EventArgs e)
{
// Start scanning QR codes
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var imageSource = images.FullPath.ToString();
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
resultLabel.Text = "Scanned Text: " + results.First().Value;
}
using IronQr;
using IronSoftware.Drawing;
private async void OnScanButtonClicked(object sender, EventArgs e)
{
// Start scanning QR codes
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var imageSource = images.FullPath.ToString();
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
resultLabel.Text = "Scanned Text: " + results.First().Value;
}
Imports IronQr
Imports IronSoftware.Drawing
Private Async Sub OnScanButtonClicked(sender As Object, e As EventArgs)
' Start scanning QR codes
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim imageSource = images.FullPath.ToString()
Dim inputBmp = 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
resultLabel.Text = "Scanned Text: " & results.First().Value
End Sub
FilePicker.Default.PickAsync, MAUI platform soyutlama katmanı tarafından sağlanır ve platforma özgü herhangi bir kod gerektirmeden Android, iOS ve Windows'ta çalışır. AnyBitmap.FromFile görüntü kod çözme işlemini gerçekleştirir ve QrReader.Read, görüntüde bulunan her QR kodu için bir giriş içeren bir IEnumerable<QrResult> döndürür.
Çıktı
Bir QR kodu görüntüsünü seçmek taramayı tetikler. Çözümlenen değer, görüntü ön izlemesinin altında sonuç etiketinde görünür.
Seçilen ve çözümlenen QR kodu sonucu etiketinde gösterilir
Projeyi İndir
Sonuç
Bu makalede, IronQR kullanarak bir .NET MAUI uygulamasında yerel QR kodu tarayıcıyı nasıl oluşturduğumuzu gösterdik. FilePicker API'si Android, iOS ve Windows'ta platforma özgü görüntü seçimi sağlarken, IronQR'nin QrReader.Read'si tek bir çağrı ile kod çözme işlemini gerçekleştirir. Aynı yaklaşım, .First() çağrısı yapmak yerine tüm sonuç koleksiyonunu yineleyerek görüntü başına birden fazla QR koduna da uygulanabilir.
IronQR'nin geliştirme ve ticari kullanım için bir lisansa ihtiyacı vardır. Lisans detayları burada mevcuttur.
Değerin ötesinde QR kodu özelliklerini okuma hakkında derinlemesine bir inceleme için QR Kodu Değeri Oku ve QR Kodu Tipi Oku kılavuzlarına bakın.
Sıkça Sorulan Sorular
.NET MAUI QR Code Scanner Tutorial ne hakkında?
.NET MAUI QR Code Scanner Tutorial, IronQR kullanarak bir QR kodu tarayıcı oluşturma konusunda rehberlik sağlar ve Android, iOS ve Windows platformlarında .NET MAUI uygulamaları için özelleştirilmiş talimatlar sunar.
.NET MAUI QR Code Scanner hangi platformları destekler?
.NET MAUI QR Code Scanner, Android, iOS ve Windows platformlarını destekler ve geliştiricilerin IronQR kullanarak çok platformlu uygulamalar oluşturmalarına olanak tanır.
.NET MAUI uygulamasında QR kodu taraması için nasıl görüntü seçebilirim?
.NET MAUI uygulamasında FilePicker bileşenini kullanarak görüntüleri seçebilir ve ardından seçilen bu görüntüler, QR kodlarını çözmek için IronQR'nin QrReader.Read() yöntemi ile işlenebilir.
Eğitimde QR kodlarını çözmek için hangi fonksiyon kullanılır?
Eğitimde, .NET MAUI uygulamasında seçilen görüntülerden QR kodlarını çözmek için IronQR'den QrReader.Read() fonksiyonu kullanılır.
İki platformlu bir uygulamada QR kodu taraması için IronQR kullanabilir miyim?
Evet, IronQR iki platformlu uygulamalarda kullanılmak üzere tasarlanmıştır ve .NET MAUI çerçevesi ile Android, iOS ve Windows için QR kodu tarayıcılar oluşturabilirsiniz.
.NET MAUI için spesifik bir QR kodu okuyucu fonksiyonu mevcut mu?
Evet, eğitim, .NET MAUI uygulamasında IronQR'den QrReader.Read() fonksiyonunu kullanarak QR kodlarını okuyup çözmeyi nasıl kullanacağınızı gösterir.
IronQR, mobil cihazlarda QR kodu taramasını destekler mi?
IronQR, .NET MAUI QR Code Scanner Tutorial'da gösterildiği gibi Android ve iOS dahil olmak üzere mobil cihazlarda QR kodu taramasını destekler.
QR kodu tarama sürecinde FilePicker'ın rolü nedir?
FilePicker, cihaz depolamasından görüntü seçmek için kullanılır ve ardından .NET MAUI uygulamasında QR kodu çözme amacıyla IronQR'nin QrReader.Read() işlevine aktarılır.
.NET MAUI kullanarak bir Windows uygulamasına QR kodu tarayıcı entegre etmek mümkün mü?
Evet, .NET MAUI QR Code Scanner Tutorial, IronQR kullanarak bir Windows uygulamasına QR kodu tarayıcıyı nasıl entegre edeceğinizi gösterir.

