.NET MAUI QR Code Taraması

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

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.

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

  1. Visual Studio 2022 ile .NET MAUI iş yükü yüklenmiş
  2. 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>
XML

Ö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.

Sample QR code encoding https://ironsoftware.com for testing the .NET MAUI QR scanner

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

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.

.NET MAUI QR Code Scanner using IronQR — app selecting a QR code image and displaying the decoded value

Seçilen ve çözümlenen QR kodu sonucu etiketinde gösterilir

Projeyi İndir

Tam MauiQrScanner projesini indirmek için buraya tıklayın.

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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 67,270 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronQR
bir örnek çalıştırın url'nizin bir QR koda dönüşmesini izleyin.