Tworzenie obrazów 1BPP Barcode w C#

Curtis Chau
Curtis Chau
Updated: 9 maja 2026

IronBarcode umożliwia tworzenie kompaktowych, monochromatycznych obrazów 1BPP Barcode w C#, zmniejszając rozmiary plików przy jednoczesnym zachowaniu czytelności maszynowej dzięki metodom takim jak To1BppImage(), SaveAs1BppBitmap() i To1BppBinaryData().

Przetwarzanie masowe kodów kreskowych wymaga uwzględnienia rozmiaru i wymiarów. Obrazy 1BPP Barcode zapewniają skuteczne rozwiązanie do szybkiego przetwarzania i dokładnego odczytu maszynowego. Obraz 1BPP jest monochromatyczny, wyświetlający tylko czarno-biały. Każdy piksel używa jednego bitu – "0" dla czarnego i "1" dla białego lub odwrotnie.

Obrazy 1BPP Barcode oferują najmniejszy możliwy rozmiar pliku, przy czym każdy piksel jest reprezentowany przez zaledwie jeden bit. Ten kompaktowy rozmiar zapewnia efektywność w przechowywaniu i przesyłaniu obrazów kodów kreskowych do drukarek, szczególnie drukarek termicznych lub przy optymalizacji przechowywania w bazie danych. Dla deweloperów pracujących z wieloma formatami kodów kreskowych, obrazy 1BPP zapewniają spójną wydajność we wszystkich obsługiwanych typach.

IronBarcode wspiera konwersję kodów kreskowych na obrazy 1BPP i więcej, zapewniając elastyczność dla wszystkich sytuacji. Niezależnie od tego, czy tworzysz kody kreskowe z różnych źródeł danych, czy optymalizujesz istniejące przepływy pracy z kodami kreskowymi, konwersja 1BPP oferuje znaczące korzyści. Ten przewodnik obejmuje wszystkie opcje oferowane przez IronBarcode do tworzenia obrazów 1BPP Barcode.

Szybki start: Utwórz obraz kodu kreskowego 1-Bit‐Per-Pixel (1BPP)

Ten przykład demonstruje, jak IronBarcode produkuje kompaktowy, monochromatyczny kod kreskowy 1BPP w jednej linii. Idealny do wysokokontrastowego skanowania i szybkiego przetwarzania masowego.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Skopiuj i uruchom ten fragment kodu.

    var img = IronBarCode.BarcodeWriter.CreateBarcode("12345", IronBarCode.BarcodeWriterEncoding.EAN8).To1BppImage();
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

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

Jak utworzyć obrazy 1BPP Barcode?

Konwersja kodów kreskowych na obrazy 1BPP jest prosta przy użyciu metody To1BppImage. Ta metoda zapisuje kod kreskowy jako obraz 1BPP. Proces przypomina tworzenie standardowych obrazów BARCODE, ale z korzyścią w postaci zmniejszonego rozmiaru pliku.

using IronBarCode;

// Create a barcode with "12345" encoded in the EAN8 format
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);

// Converts the barcode into a 1bpp image
var anyBitmap = myBarcode.To1BppImage();

Wynikowy obraz zachowuje informacje zawarte w kodzie kreskowym BarCode, jednocześnie znacznie zmniejszając rozmiar pliku. Jest to przydatne podczas pracy z dostosowywaniem stylu kodów kreskowych BarCode, gdzie informacje o kolorze nie są konieczne.

Dlaczego metoda To1BppImage produkuje mniejsze rozmiary plików?

Metoda To1BppImage produkuje mniejsze pliki, przechowując każdy piksel przy użyciu tylko jednego bitu zamiast typowych 24 lub 32 bitów w obrazach pełnokolorowych. To osiąga współczynnik kompresji do 32:1 w porównaniu do standardowych obrazów RGBA. Dla typowego piksela w kodzie kreskowym 500x100, obraz pełnokolorowy wymaga około 200KB, podczas gdy wersja 1BPP potrzebuje tylko około 6KB.

Jakie formaty obrazów są obsługiwane dla wyjścia 1BPP?

IronBarcode wspiera wiele formatów obrazów dla wyjścia 1BPP: BMP (bitmapa), PNG i TIFF. BMP jest najczęściej stosowane do obrazów 1BPP ze względu na wbudowane wsparcie dla danych monochromatycznych. Również PNG i TIFF oferują doskonałą kompresję dla obrazów czarno-białych. Szczegółowe informacje na temat obsługiwanych formatów można znaleźć w przewodniku po formatach danych wyjściowych.

Kiedy powinienem używać obrazów 1BPP zamiast standardowych formatów kodów kreskowych?

Używaj obrazów 1BPP, gdy:

  • Praca z drukarkami termicznymi lub monochromatycznymi
  • Przechowywanie tysięcy BarCodes w bazach danych
  • Przesyłanie barcode'ów przy ograniczonej przepustowości
  • Integracja z istniejącymi systemami wymagającymi obrazów monochromatycznych
  • Przetwarzanie BARCODE-ów w operacjach zbiorczych, gdzie rozmiar pliku ma znaczenie

Jak zapisać kody kreskowe jako pliki bitmapowe 1BPP?

Aby zapisać jako bitmapę, użyj metody SaveAs1BppBitmap z ścieżką pliku. Ta metoda sprawdza się, gdy trzeba wyeksportować BarCodes do druku lub archiwizacji.

using IronBarCode;

// Create a barcode with "12345" encoded in the EAN8 format
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);

// Save the barcode as a 1bpp Bitmap
myBarcode.SaveAs1BppBitmap("1bppImage.bmp");

Jakie są korzyści z używania formatu bitmapy dla kodów kreskowych 1BPP?

Format bitmapy oferuje kilka zalet dla kodów kreskowych 1BPP:

  • Wsparcie Wbudowane: BMP ma wbudowane wsparcie dla głębi koloru 1-bit
  • Brak artefaktów kompresji: BMP zachowuje dokładne dane pikseli, w przeciwieństwie do JPEG
  • Szeroka kompatybilność: Obsługiwane przez praktycznie wszystkie programy do obróbki obrazów
  • Szybkie przetwarzanie: do odczytu nie jest wymagana dekompresja
  • Gotowość do druku: Bezpośrednia kompatybilność z większością sterowników drukarek

Jak określić niestandardowe ścieżki plików dla zapisanych obrazów bitmapowych?

Określ niestandardowe ścieżki plików, używając ścieżek bezwzględnych lub względnych. Podczas pracy w środowiskach takich jak Azure lub AWS Lambda należy zapewnić uprawnienia do zapisu w katalogu docelowym:

// Relative path
myBarcode.SaveAs1BppBitmap("./output/barcode.bmp");

// Absolute path
myBarcode.SaveAs1BppBitmap(@"C:\BarcodeOutput\barcode.bmp");

// Using environment variables
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "barcode.bmp");
myBarcode.SaveAs1BppBitmap(path);

Co się stanie, jeśli ścieżka do pliku już istnieje?

SaveAs1BppBitmap domyślnie nadpisuje istniejące pliki. Aby zapobiec przypadkowemu nadpisaniu:

string filePath = "barcode.bmp";
if (File.Exists(filePath))
{
    // Add timestamp or increment filename
    filePath = $"barcode_{DateTime.Now:yyyyMMdd_HHmmss}.bmp";
}
myBarcode.SaveAs1BppBitmap(filePath);

Jak przekonwertować kody kreskowe na dane binarne 1BPP?

Aby zapisać jako dane binarne, użyj metody To1BppBinaryData. Format binarny umożliwia wykorzystanie danych w innych częściach aplikacji oraz integrację z istniejącymi systemami. To podejście przypomina eksportowanie kodów kreskowych jako strumieni, ale zoptymalizowane dla formatu 1BPP.

using IronBarCode;

// Create a barcode with "12345" encoded in the EAN8 format
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);

// Save the barcode as a 1pp binary data object
var byteData = myBarcode.To1BppBinaryData();

Dlaczego potrzebuję danych binarnych zamiast plików graficznych?

Dane binarne mają przewagę nad przechowywaniem opartym na plikach:

  • Integracja z bazą danych: zapisuj bezpośrednio w polach BLOB
  • Efektywność pamięci: brak obciążenia związanego z operacjami wejścia/wyjścia plików
  • Przesyłanie przez API: Łatwe wysyłanie za pośrednictwem interfejsów API REST
  • Generowanie dynamiczne: Twórz BarCodes bez dostępu do systemu plików
  • Wdrożenie w chmurze: idealne rozwiązanie dla środowisk bezserwerowych

Jak mogę zintegrować dane z BarCode-ów binarnych z bazami danych?

Dane z kodów kreskowych w formacie binarnym płynnie integrują się z nowoczesnymi bazami danych. Ten przykład pokazuje przechowywanie i pobieranie danych:

// Storing barcode in database
public void StoreBarcodeInDatabase(string barcodeValue, string connectionString)
{
    var barcode = BarcodeWriter.CreateBarcode(barcodeValue, BarcodeWriterEncoding.Code128);
    byte[] barcodeData = barcode.To1BppBinaryData();
    
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
        string query = "INSERT INTO BarcodeTable (Value, ImageData, CreatedDate) VALUES (@value, @data, @date)";
        using (SqlCommand cmd = new SqlCommand(query, conn))
        {
            cmd.Parameters.AddWithValue("@value", barcodeValue);
            cmd.Parameters.AddWithValue("@data", barcodeData);
            cmd.Parameters.AddWithValue("@date", DateTime.Now);
            
            conn.Open();
            cmd.ExecuteNonQuery();
        }
    }
}

Jakie są typowe zastosowania danych z BarCode-ów binarnych?

Dane z BarCode-ów binarnych są powszechnie wykorzystywane w:

  • Interfejsy API sieci Web: zwracają obrazy BarCode bez plików tymczasowych
  • Generowanie raportów: Osadzanie BarCode bezpośrednio w raportach PDF
  • Systemy poczty elektronicznej: Dołączanie BarCode'ów do automatycznych wiadomości e-mail
  • Systemy pamięci podręcznej: przechowywanie w Redis lub Memcached
  • Mikrousługi: Przekazywanie danych BarCode między usługami

W przypadku zaawansowanych scenariuszy warto zapoznać się z asynchronicznym przetwarzaniem BarCode dla aplikacji obsługujących duże ilości danych.

Często Zadawane Pytania

Czym sa obrazy kodow kreskowych 1BPP i dlaczego warto ich uzywac?

Obrazy kodow kreskowych 1BPP (1-bit-per-pixel) to monochromatyczne obrazy wyswietlajace jedynie czern i biel, przy czym kazdy piksel wykorzystuje tylko jeden bit. IronBarcode umożliwia tworzenie tych kompaktowych obrazow, ktore oferuja najmniejszy mozliwy rozmiar pliku przy zachowaniu czytelnosci maszynowej. Sa idealne dla drukarek termicznych, optymalizacji przechowywania w bazie danych i masowego przetwarzania kodow kreskowych.

Jak stworzyc obraz kodu kreskowego 1BPP w C#?

Za pomoca IronBarcode mozna stworzyc obraz kodu kreskowego 1BPP za pomoca jednej linii kodu, uzywajac metody To1BppImage(). Uzyj po prostu: var img = IronBarCode.BarcodeWriter.CreateBarcode("12345", IronBarCode.BarcodeWriterEncoding.EAN8).To1BppImage();

Jakie metody sa dostepne do generowania kodow kreskowych 1BPP?

IronBarcode oferuje trzy glowne metody tworzenia obrazow kodow kreskowych 1BPP: To1BppImage() do standardowej konwersji obrazow, SaveAs1BppBitmap() do bezposredniego zapisu jako plik bitmapy oraz To1BppBinaryData() do generowania danych binarnych odpowiednich do bezposredniej transmisji do drukarek lub systemow przechowywania.

Czy moge zmienic rozmiar kodow kreskowych przed konwersja do formatu 1BPP?

Tak, IronBarcode umożliwia dostosowanie kodow kreskowych przed konwersja do formatu 1BPP. Mozna uzywac metody ResizeTo() do dopasowania wymiarow, zapewniajac, ze kod kreskowy spelni specyficzne wymagania dotyczace rozmiaru przed konwersja do kompaktowego formatu 1BPP.

Czy kody kreskowe 1BPP sa odpowiednie dla wszystkich formatow kodow kreskowych?

IronBarcode wspiera konwersje wszystkich swoich obslugiwanych formatow kodow kreskowych na obrazy 1BPP. Niezaleznie od tego, czy pracujesz z EAN8, Code128, kodami QR, czy innymi obslugiwanymi formatami, konwersja do 1BPP dostarcza stalej wydajnosci i zachowuje czytelnosc maszynowa we wszystkich typach.

Jakie sa korzysci z uzywania kodow kreskowych 1BPP dla drukarek termicznych?

Obrazy kodow kreskowych 1BPP sa szczegolnie wydajne dla drukarek termicznych, poniewaz dopasowuja sie do monochromatycznych mozliwosci wyjsciowych drukarek. Konwersja do 1BPP w IronBarcode znacznie redukuje rozmiary plikow, umożliwiajac szybsza transmisje do drukarek i bardziej efektywne procesy drukowania, zwlaszcza w scenariuszach wysokiej objetosci.

What are the advantages of using binary data for 1BPP barcodes?

Using binary data for 1BPP barcodes offers several advantages, such as easy integration with databases, memory efficiency for applications, straightforward transmission via APIs, and suitability for serverless cloud deployments.

How can I integrate 1BPP binary barcode data with a database?

You can integrate 1BPP binary barcode data with a database by storing the byte array directly in a BLOB field. This allows for efficient storage and retrieval without the need for file-based systems.

When should I use 1BPP images instead of standard barcode formats?

1BPP images should be used when working with devices or applications that require monochrome printing, when storing a large number of barcodes in databases, transmitting over restricted bandwidth, or integrating with legacy systems that need monochrome images.

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 2,549,320Wersja:2026.11właśnie wydany