Jak odczytać kody kreskowe z obrazów w C#

Jak odczytywać BARCODES z obrazów przy użyciu języka C

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

IronBarcode odczytuje kody kreskowe z obrazów w języku C# za pomocą jednej linii kodu przy użyciu BarcodeReader.Read(), obsługując wiele formatów obrazów, w tym PNG, JPEG, GIF, BMP, TIFF i SVG, z opcjami dostosowywania w celu poprawy wydajności i dokładności.

Jedną z kluczowych funkcji IronBarcode jest możliwość odczytu kodów kreskowych w wielu formatach obrazów bez konieczności dodatkowej konfiguracji. Obecnie IronBarcode obsługuje następujące formaty obrazów:

  • Skalowalna grafika wektorowa (SVG)
  • Joint Photographic Experts Group (JPEG)
  • Portable Network Graphics (PNG)
  • Graphics Interchange Format (GIF)
  • Format plików graficznych z tagami (TIFF)
  • Plik obrazu bitmapowego (BMP)

This is made possible with the help of our open source library, IronDrawing. Pełną listę obsługiwanych formatów BARCODE, w tym zarówno typów 1D, jak i 2D, można znaleźć w naszej obszernej dokumentacji.

Szybki start: Odczytuj BarCodes z obrazu w kilka sekund

Wystarczy jedno proste wywołanie IronBarCode.BarcodeReader.Read(), aby wyodrębnić dane z BARCODE bezpośrednio z plików graficznych w formatach takich jak PNG, JPEG, GIF, BMP i TIFF. Zacznij od razu — bez skomplikówanej konfiguracji, tylko natychmiastowe wyniki.

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode
  2. Skopiuj i uruchom ten fragment kodu.

    var results = IronBarCode.BarcodeReader.Read("path/to/image.png");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronBarcode w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Jak odczytywać BarCodes bezpośrednio z obrazów?

Oto jak używać IronBarcode do odczytu kodów kreskowych. Aby uzyskać obszerny samouczek dotyczący odczytu kodów kreskowych w języku C# / .NET, w tym zaawansowanych technik przetwarzania plików PDF i operacji wsadowych, zapoznaj się z naszym szczegółowym przewodnikiem:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-images-1.cs
using IronBarCode;
using System;

var myBarcode = BarcodeReader.Read(@"image_file_path.jpg"); //image file path

foreach (var item in myBarcode)
{
    Console.WriteLine(item.ToString());
}
Imports IronBarCode
Imports System

Private myBarcode = BarcodeReader.Read("image_file_path.jpg") 'image file path

For Each item In myBarcode
	Console.WriteLine(item.ToString())
Next item
$vbLabelText   $csharpLabel
Sample QR code with finder patterns for testing barcode reading from images
Przykładowy kod QR do testów
Sample barcode with black vertical lines on white background for testing image-based barcode reading
Przykładowy BarCode testowy

Chcesz wiedzieć, jakie są wartości BarCode w przykładach? Wypróbuj to za pomocą fragmentu kodu!

Aby używać IronBarcode, pierwszą rzeczą, którą musisz zrobić, jest zainstalowanie biblioteki IronBarcode poprzez menedżera pakietów NuGet Microsoft Visual Studio w twoim projekcie, jak pokazano na poniższym zdjęciu. Umożliwi to dostęp do metody BarcodeReader.Read() IronBarcode w celu bezpośredniego odczytu obrazów kodów kreskowych.

IronBarcode zapewnia prostotę, umożliwiając użytkownikom użycie wyłącznie BarcodeReader.Read() do odczytania pliku obrazu, który został już dołączony do projektu, poprzez określenie ciągu znaków nazwy pliku LUB ciągu znaków ścieżki do pliku jako parametru metody. Najlepszą praktyką jest użycie dosłownego ciągu znaków, '@' podczas określania ścieżki pliku w metodzie, aby uniknąć dodatkowych znaków ucieczki '\' w ciągu ścieżki pliku.

Dołącz metodę Values() na końcu wywołania metody BarcodeReader.Read(), aby uzyskać wartość kodu BarCode jako obiekt System.String[].

Aby wyświetlić wynik w konsoli, można użyć pętli foreach do iteracji nad wartościami przechowywanymi w tablicy string[], a wewnątrz bloku pętli wywołać metodę Console.WriteLine() z zmienną iteratora jako parametrem.

IronBarcode potrafi odczytywać jednowymiarowe formaty kodów kreskowych (Codabar, Code128, Code39, Code93, EAN13, EAN18, ITF, MSI, UPCA, UPCE), a także dwuwymiarowe formaty BARCODE-ów (Aztec, DataMatrix, QRCode) w różnych formatach obrazów.

Jak Mogę Skonfigurować Opcje Odczytu Kodów Kreskowych dla Lepszej Wydajności?

Czy odczytywanie kodu kreskowego jest zbyt wolne? Czy kod kreskowy na zdjęciu jest zbyt mały, co uniemożliwia IronBarcode jego odczytanie? Chcesz odczytać tylko określone obszary obrazu? Chcesz odczytać tylko określone typy kodów kreskowych z obrazu zawierającego mieszankę kodów kreskowych? Chcesz poprawić ogólną wydajność odczytu?

BarcodeReaderOptions pozwala użytkownikom dostosować lub zmodyfikować działanie czytnika BARCODE, aby rozwiązać wszystkie te problemy. Szczegółowe przykłady ustawień opcji czytnika BarCode można znaleźć w naszym obszernym przewodniku. W poniższych sekcjach omówiono po kolei wszystkie właściwości, które można dostosować w BarcodeReaderOptions.

Jak Określić, Który Obszar Obrazu Czytać?

CropArea jest właściwością typu IronSoftware.Drawing.CropRectangle dostępną w BarcodeReaderOptions, która pozwala użytkownikom określić obszar obrazu, który IronBarcode ma odczytać. Pomaga to poprawić wydajność odczytu, ponieważ czytnik kodów kreskowych nie skanuje całego obrazu w poszukiwaniu kodów kreskowych, a także zwiększa dokładność odczytu, ponieważ obszar do odczytu został określony. Dowiedz się więcej o tym, jak określić obszar kadrowania dla optymalnej wydajności.

Aby ustawić właściwość CropArea, wystarczy utworzyć instancję nowego obiektu typu Rectangle i podać jako argumenty współrzędne prostokąta, jego szerokość i długość. Jednostka miary akceptowana to piksele (px).

// Example of setting CropArea
var cropArea = new IronSoftware.Drawing.Rectangle(x: 100, y: 100, width: 300, height: 300);
var options = new BarcodeReaderOptions()
{
    CropArea = cropArea
};
// Example of setting CropArea
var cropArea = new IronSoftware.Drawing.Rectangle(x: 100, y: 100, width: 300, height: 300);
var options = new BarcodeReaderOptions()
{
    CropArea = cropArea
};
Imports IronSoftware.Drawing

' Example of setting CropArea
Dim cropArea As New Rectangle(x:=100, y:=100, width:=300, height:=300)
Dim options As New BarcodeReaderOptions() With {
    .CropArea = cropArea
}
$vbLabelText   $csharpLabel

Które Typy Kodów Kreskowych Powinienem Określić dla Szybszego Odczytu?

Domyślnie, wszystkie obsługiwane kody kreskowe w IronBarcode będą skanowane w obrazie. Jednak jeśli użytkownik wie, jakie typy kodów kreskowych są dostępne lub chce, aby były odczytywane w obrazie, ustawienie tej właściwości na odczytywanie tylko określonych typów kodów kreskowych znacznie zwiększy wydajność odczytu i dokładność, ponieważ czytnik kodów kreskowych nie musi iterować przez kolekcje kodów kreskowych, aby zinterpretować i odczytać kod kreskowy.

Aby użyć tej właściwości, wystarczy ustawić ExpectBarcodeTypes na jedną z wartości wyliczenia BarcodeEncoding. Poniżej znajdują się przykłady każdego typu kodu kreskowego obsługiwanego przez IronBarcode.

// Example: Expect only QR codes and Code128
var options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128
};
// Example: Expect only QR codes and Code128
var options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128
};
' Example: Expect only QR codes and Code128
Dim options As New BarcodeReaderOptions() With {
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128
}
$vbLabelText   $csharpLabel

Kiedy Powinienem Wyłączyć Odczyt Wielu Kodów Kreskowych?

IronBarcode domyślnie przeskanuje wszystkie dostępne kody kreskowe na obrazie, co obejmuje skanowanie całego pliku obrazu i dodanie odczytanych wartości kodów kreskowych do tablicy stringów. Jednakże, jeśli użytkownicy nie chcą odczytywać wielu kodów kreskowych na pliku obrazu, mogą ustawić tę właściwość na false, co sprawi, że czytnik kodów kreskowych przestanie skanować, gdy znajdzie wartość kodu kreskowego. Ponownie poprawi to wydajność i szybkość odczytu IronBarcode. Więcej informacji na temat odczytywania wielu kodów kreskowych znajdziesz w naszym dedykowanym przewodniku.

Jak Filtry Obrazów Poprawiają Rozpoznawanie Kodów Kreskowych?

Jedną z właściwości, które można dodać w BarcodeReaderOptions, jest zbiór filtrów obrazu. Filtry obrazu są ważne do wstępnego przetwarzania surowego obrazu przekazywanego do IronBarcode. Aby zastosować filtry obrazu wewnątrz BarcodeReaderOptions, użytkownicy muszą najpierw zainicjować i określić kolekcję ImageFilter, która ma być używana. Aby uzyskać pełne wskazówki na temat technik korekty obrazu, w tym zastosowania filtrów, odwiedź nasz poradnik.

Jak Mogę Optymalizować Wątkowanie dla Lepszej Wydajności?

IronBarcode pozwala użytkownikom włączyć i dostosować ilość wykonywania równoległych wątków, co z kolei poprawi szybkość i efektywność procesu. Równoległe wątki oznaczają wykonywanie wielu wątków jednocześnie na różnych rdzeniach procesora. Domyślna wartość właściwości MaxParallelThread w IronBarcode wynosi 4. Użytkownicy mogą ją dostosować w oparciu o możliwości i ilość zasobów dostępnych na ich komputerach.

Czy Powinienem Włączyć Wielowątkowe Przetwarzanie?

Ta właściwość umożliwia IronBarcode równoległe odczytywanie wielu obrazów. Domyślną wartością dla #Multithreaded jest true, dlatego wiele wątków będzie zarządzanych automatycznie w celu poprawy wydajności zadań związanych z odczytem BarCode w trybie wsadowym.

Dłączego Powinienem Usuwać Fałszywe Pozytywne Odczyty?

Ta właściwość usuwa wszelkie fałszywie pozytywne odczyty kodów kreskowych. Fałszywe pozytywne odczyty kodów kreskowych oznaczają po prostu fałszywy odczyt wartości kodu kreskowego, który jednak został zidentyfikowany jako poprawny. Może to się zdarzyć z powodu błędów w procesie sekwencjonowania lub błędów w etykietowaniu lub przygotowywaniu kodu kreskowego. Dlatego ustawienie RemoveFalsePositive na true spowoduje usunięcie fałszywie pozytywnych odczytów BarCode, poprawiając w ten sposób dokładność odczytu BarCode. Jednakże, jeśli użytkownicy wybierają wydajność kosztem dokładności, ustawienie tej właściwości na false może pomóc. Wartość domyślna dla tej właściwości to true.

Jak MinScanLines Wpływa na Dokładność Wykrywania?

MinScanLines określa minimalną liczbę skanowanych linii, które muszą być zgodne w wyniku skanowania BarCode, aby wynik został uznany za prawidłowy. Domyślnie jest to 2. Zwiększenie tej wartości zmniejsza liczbę fałszywych pozytywów, ale może uniemożliwić wykrycie cienkich lub niskiej jakości kodów kreskowych. Obniżenie do 1 zwiększa czułość na trudne kody kreskowe, narażając się jednak na wprowadzenie zakłóceń.

Jakie Tryby Skanowania Są Dostępne dla Różnych Zastosowań?

Określ, jak IronBarcode skanuje i wykrywa kody kreskowe na obrazie.

  • Auto: Odczytuje BARCODE z automatycznym przetwarzaniem wstępnym obrazu i skonfigurowanymi najbardziej optymalnymi opcjami czytnika. Zalecane dla najlepszych wyników i wydajności.
  • OnlyDetectionModel: Skanuje obraz w poszukiwaniu BARCODE-ów i zwraca ich pozycje jako tablicę IronSoftware.Drawing.PointF. Ten tryb nie odczytuje wykrytych kodów kreskowych; zwraca tylko pozycje każdego kodu kreskowego.
  • MachineLearningScan: Skanuje obraz w poszukiwaniu BARCODE za pomocą wykrywania opartego na uczeniu maszynowym i odczytuje je.
  • OnlyBasicScan: Odczytuje BarCodes bez wykrywania opartego na uczeniu maszynowym, automatycznego przetwarzania wstępnego obrazu ani konfiguracji opcji czytnika. Ta opcja może być używana samodzielnie z IronBarCode.Slim.

Jak Ustawienia Prędkości Odczytu Wpływają na Dokładność?

Jak sugeruje nazwa, właściwość Speed umożliwia użytkownikom dalszą optymalizację wydajności czytnika IronBarcode. Podobnie jak w przypadku właściwości RemoveFalsePositive, dostosowanie tej właściwości poprawia wydajność kosztem dokładności. Aby uzyskać szczegółowe informacje na temat opcji prędkości odczytu, w tym testów wydajności, zapoznaj się z naszym szczegółowym przewodnikiem. Akceptuje wyliczenie ReadingSpeed, które ma 4 poziomy, jak pokazano poniżej:

  • Faster: Umożliwia najszybsze odczytywanie BARCODE-ów, ale zmniejsza dokładność. Proces pomija wstępne przetwarzanie obrazu, co często skutkuje pustymi wynikami kodów kreskowych. Używaj tego ustawienia tylko wtedy, gdy wejściowy obraz jest ostry i wyraźny.
  • Balanced: To ustawienie jest zalecane dla właściwości Speed. Ustawia równowagę między dokładnością a wydajnością odczytu, starając się zastosować lekkie przetwarzanie obrazu, aby wyjaśnić obszar kodu kreskowego i wyróżnić go dla czytnika kodów kreskowych. Większość czasu to ustawienie wystarcza, aby IronBarcode mógł odczytać obraz kodu kreskowego i wyprodukować dokładny wynik.
  • Detailed: W przypadkach, gdy użycie ustawienia ReadingSpeed.Balanced nie pozwala na uzyskanie wartości BARCODE z odczytu, użytkownicy mogą zdecydować się na użycie ReadingSpeed.Detailed. IronBarcode przeprowadzi średnie przetwarzanie obrazu, aby dalsze i dokładniejsze wykrycie obszaru kodu kreskowego dla czytnika. To ustawienie jest bardzo przydatne do wykrywania małych lub mniej ostrych obrazów kodów kreskowych.
  • ExtremeDetail: To ustawienie jest najmniej zalecane ze względu na proces wymagający dużej mocy obliczeniowej procesora. Ciężkie przetwarzanie zostanie wykonane na wizerunku kodu kreskowego, aby czytnik mógł odczytać kody kreskowe. Użytkownicy są zalecani, aby przed użyciem tego ustawienia dokonać wstępnego oczyszczenia obrazu/stosowania filtrów na obrazie.

Kiedy Powinienem Używać Trybu Rozszerzonego Code39?

To ustawienie pozwala na odczytywanie i interpretowanie kodów kreskowych typu Code39 z trybem rozszerzonym, gdzie zostanie zastosowany pełny zbiór znaków ASCII. Ustawienie UseCode39ExtendedMode na true umożliwi dokładniejsze odczytywanie BARCODE-ów Code39.

Jak Zaimplementować Zaawansowane Odczytywanie Kodu Kreskowego z Własnymi Opcjami?

Teraz, gdy poznaliśmy wszystkie opcje, które można dostosowywać przez użytkowników, czy to dla zwiększenia wydajności, czy dokładności, oto jak zastosować je w kodzie. Poniższy fragment kodu ilustruje kompleksowe wykorzystanie BarcodeReaderOptions:

using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Linq;

// Create custom reader options
var options = new BarcodeReaderOptions()
{
    // Specify expected barcode types for better performance
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128 | BarcodeEncoding.Code39,

    // Define specific area to scan (x, y, width, height in pixels)
    CropArea = new Rectangle(100, 100, 500, 400),

    // Set reading speed to balance accuracy and performance
    Speed = ReadingSpeed.Balanced,

    // Enable multithreading for better performance
    Multithreaded = true,
    MaxParallelThreads = 4,

    // Remove false positives for accuracy
    RemoveFalsePositive = true,

    // Minimum scan lines that must agree for a valid result (default 2)
    MinScanLines = 1,

    // Enable Code39 extended mode if needed
    UseCode39ExtendedMode = true,

    // Set scan mode
    ScanMode = BarcodeReaderScanMode.Auto,

    // Add image filters for better recognition
    ImageFilters = new ImageFilterCollection() { 
        new SharpenFilter(),
        new InvertFilter(),
        new ContrastFilter()
    }
};

// Read barcodes with custom options
var results = BarcodeReader.Read(@"C:\path\to\your\barcode-image.png", options);

// Process results
if (results.Any())
{
    foreach (var barcode in results)
    {
        Console.WriteLine($"Barcode Type: {barcode.BarcodeType}");
        Console.WriteLine($"Value: {barcode.Value}");
        Console.WriteLine($"Confidence: {barcode.Confidence}%");
        Console.WriteLine($"Position: X={barcode.X}, Y={barcode.Y}");
        Console.WriteLine("---");
    }
}
else
{
    Console.WriteLine("No barcodes found in the image.");
}
using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Linq;

// Create custom reader options
var options = new BarcodeReaderOptions()
{
    // Specify expected barcode types for better performance
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128 | BarcodeEncoding.Code39,

    // Define specific area to scan (x, y, width, height in pixels)
    CropArea = new Rectangle(100, 100, 500, 400),

    // Set reading speed to balance accuracy and performance
    Speed = ReadingSpeed.Balanced,

    // Enable multithreading for better performance
    Multithreaded = true,
    MaxParallelThreads = 4,

    // Remove false positives for accuracy
    RemoveFalsePositive = true,

    // Minimum scan lines that must agree for a valid result (default 2)
    MinScanLines = 1,

    // Enable Code39 extended mode if needed
    UseCode39ExtendedMode = true,

    // Set scan mode
    ScanMode = BarcodeReaderScanMode.Auto,

    // Add image filters for better recognition
    ImageFilters = new ImageFilterCollection() { 
        new SharpenFilter(),
        new InvertFilter(),
        new ContrastFilter()
    }
};

// Read barcodes with custom options
var results = BarcodeReader.Read(@"C:\path\to\your\barcode-image.png", options);

// Process results
if (results.Any())
{
    foreach (var barcode in results)
    {
        Console.WriteLine($"Barcode Type: {barcode.BarcodeType}");
        Console.WriteLine($"Value: {barcode.Value}");
        Console.WriteLine($"Confidence: {barcode.Confidence}%");
        Console.WriteLine($"Position: X={barcode.X}, Y={barcode.Y}");
        Console.WriteLine("---");
    }
}
else
{
    Console.WriteLine("No barcodes found in the image.");
}
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
Imports System.Linq

' Create custom reader options
Dim options As New BarcodeReaderOptions() With {
    ' Specify expected barcode types for better performance
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128 Or BarcodeEncoding.Code39,

    ' Define specific area to scan (x, y, width, height in pixels)
    .CropArea = New Rectangle(100, 100, 500, 400),

    ' Set reading speed to balance accuracy and performance
    .Speed = ReadingSpeed.Balanced,

    ' Enable multithreading for better performance
    .Multithreaded = True,
    .MaxParallelThreads = 4,

    ' Remove false positives for accuracy
    .RemoveFalsePositive = True,

    ' Minimum scan lines that must agree for a valid result (default 2)
    .MinScanLines = 1,

    ' Enable Code39 extended mode if needed
    .UseCode39ExtendedMode = True,

    ' Set scan mode
    .ScanMode = BarcodeReaderScanMode.Auto,

    ' Add image filters for better recognition
    .ImageFilters = New ImageFilterCollection() From {
        New SharpenFilter(),
        New InvertFilter(),
        New ContrastFilter()
    }
}

' Read barcodes with custom options
Dim results = BarcodeReader.Read("C:\path\to\your\barcode-image.png", options)

' Process results
If results.Any() Then
    For Each barcode In results
        Console.WriteLine($"Barcode Type: {barcode.BarcodeType}")
        Console.WriteLine($"Value: {barcode.Value}")
        Console.WriteLine($"Confidence: {barcode.Confidence}%")
        Console.WriteLine($"Position: X={barcode.X}, Y={barcode.Y}")
        Console.WriteLine("---")
    Next
Else
    Console.WriteLine("No barcodes found in the image.")
End If
$vbLabelText   $csharpLabel

Z fragmentu kodu wynika, że aby użyć BarcodeReaderOptions, musimy najpierw go zainicjować, a następnie określić i dostosować właściwości BarcodeReaderOptions zgodnie z właściwościami określonymi powyżej. Zainicjowany BarcodeReaderOptions może być następnie użyty jako argument w metodzie BarcodeReader.Read() wraz z plikiem obrazu. Spowoduje to zastosowanie wszystkich ustawień w BarcodeReaderOptions podczas odczytu BARCODE z obrazu.

Jeśli napotkasz problemy, w których kod kreskowy nie jest rozpoznawany, nasz przewodnik rozwiązywania problemów oferuje rozwiązania dla powszechnych problemów oraz wskazówki poprawiające dokładność skanowania kodów kreskowych.

Często Zadawane Pytania

Jakie formaty obrazów są obsługiwane do odczytu kodów kreskowych w C#?

IronBarcode obsługuje odczytywanie kodów kreskowych z wielu formatów obrazów, w tym SVG (Scalable Vector Graphics), JPEG, PNG, GIF, TIFF (Tagged Image File Format) i BMP (Bitmap Image File). Ta wszechstronna obsługa formatów jest możliwa dzięki IronDrawing, umożliwiając płynne wydobywanie kodów kreskowych z różnych typów obrazów.

Jak mogę odczytać kod kreskowy z pliku obrazu za pomocą tylko jednej linii kodu?

Dzięki IronBarcode można odczytać kody kreskowe z obrazów za pomocą jednej linii kodu: `var results = IronBarCode.BarcodeReader.Read("path/to/image.png");`. To proste wywołanie metody automatycznie wykrywa i wydobywa dane kodu kreskowego z plików PNG, JPEG, GIF, BMP i TIFF bez konieczności skomplikowanej konfiguracji.

Czy mogę określić, które rodzaje kodów kreskowych mają być wyszukiwane przy odczytywaniu obrazów?

Tak, IronBarcode pozwala określić rodzaje kodów kreskowych, używając właściwości ExpectBarcodeTypes w BarcodeReaderOptions. To ukierunkowane podejście poprawia wydajność odczytu, koncentrując się tylko na formatach kodów kreskowych, które spodziewasz się znaleźć w swoich obrazach.

Czy jest możliwe odczytywanie kodów kreskowych z określonego obszaru w obrębie obrazu?

Zdecydowanie! IronBarcode oferuje właściwość CropArea, która pozwala określić konkretne obszary w obrębie obrazu, gdzie znajdują się kody kreskowe. Ta funkcja jest szczególnie przydatna dla dużych obrazów lub gdy znasz przybliżoną lokalizację kodów kreskowych, znacznie poprawiając szybkość przetwarzania.

Jak skonfigurować zaawansowane ustawienia odczytu dla lepszej dokładności?

IronBarcode oferuje klasę BarcodeReaderOptions do konfiguracji zaawansowanych ustawień odczytu. Obejmuje to opcje dostosowywania czułości detekcji kodów kreskowych, wstępnej obróbki obrazów i innych parametrów, które mogą poprawić dokładność przy pracy z trudnymi obrazami lub specyficznymi typami kodów kreskowych.

Co sprawia, że odczytywanie kodów kreskowych z obrazów jest proste dla deweloperów C#?

IronBarcode upraszcza odczytywanie kodów kreskowych dzięki metodzie BarcodeReader.Read(), która działa out-of-the-box z wieloma formatami obrazów. Programiści muszą jedynie podać nazwę pliku lub ścieżkę do pliku jako parametr, co sprawia, że integracja funkcjonalności odczytu kodów kreskowych do każdej aplikacji C# jest niezwykle prosta.

Czy IronBarcode oferuje wsparcie dla dostosowywania wyglądu kodów kreskowych?

Tak, IronBarcode oferuje rozległe opcje dostosowywania wyglądu kodów kreskowych, w tym kolory, rozmiar i adnotacje tekstowe, pozwalając dostosować kody kreskowe do konkretnych wymagań projektowych.

Jak IronBarcode może pomóc w poprawie efektywności procesów biznesowych?

IronBarcode zwiększa efektywność procesów biznesowych, umożliwiając szybkie i dokładne generowanie i odczyt kodów kreskowych, redukując błędy ręcznego wprowadzania danych i poprawiając śledzenie zapasów i aktywów.

Jakie umiejętności programistyczne są potrzebne do zaimplementowania IronBarcode w projekcie?

Podstawowa znajomość programowania w C# jest wystarczająca do zaimplementowania IronBarcode w projekcie, ponieważ oferuje on nieskomplikowane metody i kompleksową dokumentację do prowadzenia deweloperów.

Czy IronBarcode jest odpowiedni zarówno dla małych projektów, jak i dużych aplikacji korporacyjnych?

IronBarcode jest zaprojektowany do bycia skalowalnym i wszechstronnym, dzięki czemu jest odpowiedni zarówno dla małych projektów, jak i dużych aplikacji korporacyjnych, które wymagają solidnych rozwiązań kodów kreskowych.

Hairil Hasyimi Bin Omar
Inżynier oprogramowania
Jak wszyscy wielcy inżynierowie, Hairil jest zapalonym uczniem. Doskonali swoją wiedzę na temat C#, Pythona i Javy, wykorzystując tę wiedzę, aby dodawać wartości członkom zespołu Iron Software. Hairil dołączył do zespołu Iron Software z Universiti Teknologi MARA w Malezji, gdzie uzyskał tytuł licencjata ...
Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 2,240,258 | Wersja: 2026.5 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package BarCode
uruchom przykład zobacz, jak twoje ciągi zamieniają się w kody kreskowe.