IRONSOFTWAREHOME

Jak zbudować skaner kodów QR w WPF

Curtis Chau
Curtis Chau
Updated: 4 marca 2026

Windows Presentation Foundation (WPF) to platforma .NET Framework służąca do tworzenia aplikacji desktopowych dla systemu Windows z interfejsami użytkownika zdefiniowanymi w języku XAML. IronQR integruje się bezpośrednio z WPF, umożliwiając skanowanie kodów QR z wybranych przez użytkownika plików graficznych za pomocą zaledwie kilku linii kodu C#.

W tym przewodniku stworzymy aplikację WPF, która otwiera okno dialogowe plików, ładuje wybrany obraz i dekoduje każdy osadzony kod QR za pomocą IronQR. Rozwiązanie obsługuje formaty PNG, JPEG, BMP, GIF, TIFF oraz inne popularne formaty obrazów.

Wymagania wstępne

  1. Visual Studio 2022 z zainstalowanym środowiskiem programistycznym .NET dla komputerów stacjonarnych
  2. Projekt WPF przeznaczony dla platformy .NET 8 lub nowszej

Zainstaluj IronQR

Zainstaluj bibliotekę IronQR za pomocą NuGet Package Manager Console w Visual Studio. Przejdź do Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów i uruchom:

PM > Install-Package IronQR

Alternatywnie, wyszukaj IronQR na NuGet i zainstaluj najnowszą wersję.

Układ okna WPF

Interfejs użytkownika skanera używa Button do wywołania okna dialogowego pliku oraz TextBlock do wyświetlenia zdekodowanego wyniku. Dodaj następujący znacznik do MainWindow.xaml:

<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>
XML

Przykładowe wejście

Użyj poniższego kodu QR jako obrazu testowego. Zapisz go na swoim urządzeniu, wybierz w oknie dialogowym plików, a następnie kliknij Wybierz obraz i zeskanuj kod QR. Zdekodowana wartość powinna być wyświetlana jako https://ironsoftware.com.**

Przykładowy kod QR kodujący https://ironsoftware.com do testowania skanera QR w WPF

Przykładowy kod QR — koduje https://ironsoftware.com

Skanowanie kodów QR przy użyciu IronQR

Gdy przycisk jest kliknięty, OnScanButtonClicked otwiera okno dialogowe w celu wyboru obrazu. Wybrany plik jest ładowany do AnyBitmap, przekazywany do QrReader.Read, a pierwsza zdekodowana wartość jest zapisywana do ResultLabel.

Dodaj następującą metodę OnScanButtonClicked do MainWindow.xaml.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.";
}

OpenFileDialog zapewnia natywny wybór plików Windows przefiltrowany do powszechnych formatów obrazów. AnyBitmap.FromFile obsługuje dekodowanie formatu dla danych wejściowych PNG, JPEG, BMP, GIF i TIFF, a QrReader.Read zwraca IEnumerable<QrResult> zawierający wpis dla każdego wykrytego kodu QR. FirstOrDefault bezpiecznie zwraca null, gdy nie znaleziono kodu QR, unikając wyjątków na obrazach bez ważnego kodu.

Wynik

Po wybraniu obrazu z kodem QR i kliknięciu przycisku skanowania, zdekodowana wartość pojawia się w TextBlock poniżej przycisku.

Skaner kodów QR WPF przy użyciu IronQR — zdekodowany wynik wyświetlany w oknie

Wartość odkodowanego kodu QR wyświetlona w oknie WPF

Pobierz projekt

Kliknij tutaj, aby pobrać kompletny projekt WpfQrScanner.

Wnioski

IronQR integruje się z aplikacją WPF z minimalną konfiguracją — jedno wywołanie QrReader.Read obsługuje cały proces dekodowania na komputerze stacjonarnym. Aby zeskanować wiele kodów QR z pojedynczego obrazu, iteruj po całej kolekcji wyników zamiast wywoływać FirstOrDefault.

Ten sam schemat obejmuje przetwarzanie wsadowe poprzez pętlę po katalogu plików graficznych lub skanowanie w czasie rzeczywistym poprzez przechwytywanie klatek z obrazu z kamery internetowej za pomocą elementu multimedialnego WPF.

Aby dowiedzieć się więcej o czytaniu kodów QR i dostępnych trybach skanowania, zobacz przewodniki Read QR Codes from Image oraz Read QR Codes with Scan Modes.

Często Zadawane Pytania

O czym jest Samouczek skanera kodow QR WPF?

Samouczek skanera kodow QR WPF dostarcza krok po kroku przewodnik do budowania skanera kodow QR za pomoca IronQR. Wyjasnia, jak uzywac OpenFileDialog do wyboru obrazow i QrReader.Read do dekodowania kodow QR w aplikacji desktopowej Windows.

Jak IronQR ulatwia skanowanie kodow QR w aplikacji WPF?

IronQR upraszcza skanowanie kodow QR w aplikacji WPF, dostarczajac narzedzi takich jak QrReader.Read, ktore efektywnie dekoduja kody QR z obrazow wybranych za pomoca OpenFileDialog.

Jakie sa glówne skladniki niezbedne do zbudowania skanera kodow QR w WPF?

Glówne skladniki potrzebne do zbudowania skanera kodow QR w WPF z IronQR obejmuja OpenFileDialog do wyboru obrazow i metode QrReader.Read do dekodowania kodow QR.

Czy IronQR moze dekodowac kody QR z roznych formatów obrazów?

Tak, IronQR moze dekodowac kody QR z roznych formatów obrazów, co czyni go uniwersalnym rozwiazaniem do uzycia w aplikacjach WPF, gdzie obrazy moga pochodzic z róznych typów plików.

Czy jest mozliwe zintegrowanie IronQR z istniejacymi aplikacjami WPF?

Oczywiscie, IronQR mozna zintegrowac z istniejacymi aplikacjami WPF, pozwalajac programistom dodac funkcjonalnosc skanowania kodow QR bez zmiany ich aktualnego systemu.

Co sprawia, ze IronQR jest odpowiedni do rozwoju WPF?

IronQR jest odpowiedni do rozwoju WPF za sprawa latwosci uzytkowania, solidnych zdolnosci dekodowania kodu QR i bezproblemowej integracji z aplikacjami desktopowymi Windows.

Jak OpenFileDialog poprawia doswiadczenie uzytkownika w skanerze kodow QR WPF?

OpenFileDialog poprawia doswiadczenie uzytkownika, oferujac prosty interfejs do wyboru plików obrazów, które moga byc potem przetwarzane przez IronQR w celu dekodowania kodów QR.

Jaka jest rola QrReader.Read w procesie skanowania kodów QR?

QrReader.Read jest kluczowe w procesie skanowania kodów QR, poniewaz dekoduje kod QR z wybranego obrazu, wykorzystujac zaawansowane algorytmy dekodowania IronQR.

Czy istnieja jakies wymogi wstepne do uzwania IronQR w aplikacji WPF?

Aby korzystac z IronQR w aplikacji WPF, programisci powinni miec podstawowe zrozumienie rozwoju WPF oraz znajomosc C#. Prostota API IronQR sprawia, ze jest ono dostepne dla programistow o róznym poziomie umiejetnosci.

Jak IronQR zapewnia dokladnosc w dekodowaniu kodów QR?

IronQR zapewnia dokladnosc w dekodowaniu kodów QR poprzez swoje zaawansowane algorytmy, które sa zaprojektowane do efektywnego obslugiwania róznych zlozonosci kodów QR i jakosci obrazów.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 74,386Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronQR"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronQR do lokalizacji, takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań Visual Studio kliknij prawym przyciskiem myszy Odwołania. Wybierz Przeglądaj, "IronQR.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta