Création d'images de code-barres 1BPP en C#
IronBarcode vous permet de créer des images de code-barres monochromes 1BPP compactes en C#, réduisant les tailles de fichiers tout en maintenant la lisibilité par machine grâce à des méthodes telles que To1BppImage(), SaveAs1BppBitmap() et To1BppBinaryData().
Le traitement des codes-barres en vrac nécessite de prendre en compte la taille et les dimensions. Les images de code-barres 1BPP offrent une solution efficace pour un traitement rapide et une lecture machine précise. Une image 1BPP est monochrome, n'affichant que du noir et du blanc. Chaque pixel utilise un seul bit - " 0 " pour le noir et " 1 " pour le blanc, ou inversement.
Les images de code-barres 1BPP offrent la plus petite taille de fichier possible, chaque pixel étant représenté par un seul bit. Ce format compact offre une efficacité pour le stockage et la transmission d'images de codes-barres à des imprimantes, notamment thermiques, ou lors de l'optimisation du stockage dans les bases de données. Pour les développeurs travaillant avec plusieurs formats de code-barres, les images 1BPP offrent des performances cohérentes sur tous les types pris en charge.
IronBarcode prend en charge la conversion des codes-barres en images 1BPP et plus encore, offrant une flexibilité pour toutes les situations. Que vous créiez des codes-barres à partir de diverses sources de données ou optimisiez des flux de travail de code-barres existants, la conversion 1BPP offre des avantages significatifs. Ce guide couvre toutes les options que IronBarcode offre pour créer des images de code-barres 1BPP.
1BPP) à 1 bit par pixel
Cet exemple démontre comment IronBarcode produit un code-barres 1BPP compact, monochrome en une seule ligne. Idéal pour le scan à contraste élevé et le traitement en masse rapide.
-
1Install IronBarcode with NuGet Package Manager
-
2Copiez et exécutez cet extrait de code.
var img = IronBarCode.BarcodeWriter.CreateBarcode("12345", IronBarCode.BarcodeWriterEncoding.EAN8).To1BppImage();Dim img = IronBarCode.BarcodeWriter.CreateBarcode("12345", IronBarCode.BarcodeWriterEncoding.EAN8).To1BppImage()Dim img = IronBarCode.BarcodeWriter.CreateBarcode("12345", IronBarCode.BarcodeWriterEncoding.EAN8).To1BppImage() -
3Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Télécharger la bibliothèque IronBarcode C# pour écrire des codes-barres
1BPP - Générer un code-barres avec
CreateBarcode - Enregistrez sous forme d'image
1BPPavec To1BppImage - Enregistrez sous forme de bitmap
1BPPavec SaveAs1BppBitmap - Enregistrez en tant que données binaires
1BPPavec To1BppBinaryData
Comment puis-je créer des images de code-barres 1BPP ?
La conversion de codes-barres en images 1BPP est simple en utilisant la méthode To1BppImage. Cette méthode enregistre le code-barres sous forme d'image 1BPP. Le processus ressemble à la création d'images de codes-barres standard mais avec des avantages de taille de fichier réduite.
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();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();Imports IronBarCode
' Create a barcode with "12345" encoded in the EAN8 format
Dim myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8)
' Converts the barcode into a 1bpp image
Dim anyBitmap = myBarcode.To1BppImage()Imports IronBarCode
' Create a barcode with "12345" encoded in the EAN8 format
Dim myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8)
' Converts the barcode into a 1bpp image
Dim anyBitmap = myBarcode.To1BppImage()L'image résultante conserve les informations du code-barres tout en réduisant considérablement la taille du fichier. Cela s'avère utile lorsque travaille avec la personnalisation du style de code-barres où les informations sur les couleurs ne sont pas nécessaires.
Pourquoi la méthode To1BppImage produit-elle des fichiers de taille plus petite ?
La méthode To1BppImage produit des fichiers de taille plus petite en stockant chaque pixel en utilisant un seul bit au lieu des 24 ou 32 bits typiques dans les images en couleur. Cela réalise un taux de compression allant jusqu'à 32:1 par rapport aux images standard RGBA. Pour un code-barres typique de 500x100 pixels, une image en couleur nécessite environ 200KB, tandis qu'une version 1BPP ne nécessite qu'environ 6KB.
Quels formats d'image sont pris en charge pour la sortie 1BPP ?
IronBarcode prend en charge plusieurs formats d'image pour la sortie 1BPP : BMP (bitmap), PNG, et TIFF. BMP est le plus courant pour les images 1BPP en raison du support natif des données monochromes. PNG et TIFF offrent également une excellente compression pour les images en noir et blanc. Pour plus de détails sur les formats pris en charge, consultez le guide des formats de données de sortie.
Quand devrais-je utiliser des images 1BPP au lieu des formats de code-barres standard ?
Utilisez des images 1BPP lorsque :
- Travailler avec des imprimantes thermiques ou monochromes
- Stocker des milliers de BarCodes dans des bases de données
- Transmettre des BarCodes sur une bande passante limitée
- Intégration avec des systèmes existants nécessitant des images monochromes
- Traitement des BarCodes dans les opérations de masse où la taille des fichiers est importante
Comment enregistrer des codes-barres sous forme de fichiers bitmap 1BPP ?
Pour enregistrer en tant que bitmap, utilisez la méthode SaveAs1BppBitmap avec un chemin de fichier. Cette méthode s'avère utile lorsque vous devez exporter des BarCodes à des fins d'impression ou d'archivage.
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");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");Imports IronBarCode
' Create a barcode with "12345" encoded in the EAN8 format
Dim myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8)
' Save the barcode as a 1bpp Bitmap
myBarcode.SaveAs1BppBitmap("1bppImage.bmp")Imports IronBarCode
' Create a barcode with "12345" encoded in the EAN8 format
Dim myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8)
' Save the barcode as a 1bpp Bitmap
myBarcode.SaveAs1BppBitmap("1bppImage.bmp")Quels sont les avantages d'utiliser le format bitmap pour les codes-barres 1BPP ?
Le format bitmap offre plusieurs avantages pour les codes-barres 1BPP :
- Support natif :
BMPa un support intégré de profondeur de couleur1-bit - Aucun artefact de compression :
BMPpréserve les données exactes des pixels contrairement au JPEG - Compatibilité étendue : prise en charge par la quasi-totalité des logiciels d'imagerie
- Traitement rapide : aucune décompression n'est nécessaire pour la lecture
- Print-Ready : Compatibilité directe avec la plupart des pilotes d'imprimante
Comment puis-je spécifier des chemins d'accès personnalisés pour les images bitmap enregistrées ?
Spécifiez des chemins d'accès personnalisés en utilisant des chemins d'accès absolus ou relatifs. Lorsque vous travaillez dans des environnements tels que Azure ou AWS Lambda, assurez-vous des droits d'écriture pour le répertoire cible :
// 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);// 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);' Relative path
myBarcode.SaveAs1BppBitmap("./output/barcode.bmp")
' Absolute path
myBarcode.SaveAs1BppBitmap("C:\BarcodeOutput\barcode.bmp")
' Using environment variables
Dim path As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "barcode.bmp")
myBarcode.SaveAs1BppBitmap(path)' Relative path
myBarcode.SaveAs1BppBitmap("./output/barcode.bmp")
' Absolute path
myBarcode.SaveAs1BppBitmap("C:\BarcodeOutput\barcode.bmp")
' Using environment variables
Dim path As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "barcode.bmp")
myBarcode.SaveAs1BppBitmap(path)Que se passe-t-il si le chemin d'accès au fichier existe déjà?
SaveAs1BppBitmap écrase les fichiers existants par défaut. Pour éviter les écrasements accidentels :
string filePath = "barcode.bmp";
if (File.Exists(filePath))
{
// Add timestamp or increment filename
filePath = $"barcode_{DateTime.Now:yyyyMMdd_HHmmss}.bmp";
}
myBarcode.SaveAs1BppBitmap(filePath);string filePath = "barcode.bmp";
if (File.Exists(filePath))
{
// Add timestamp or increment filename
filePath = $"barcode_{DateTime.Now:yyyyMMdd_HHmmss}.bmp";
}
myBarcode.SaveAs1BppBitmap(filePath);Dim filePath As String = "barcode.bmp"
If File.Exists(filePath) Then
' Add timestamp or increment filename
filePath = $"barcode_{DateTime.Now:yyyyMMdd_HHmmss}.bmp"
End If
myBarcode.SaveAs1BppBitmap(filePath)Dim filePath As String = "barcode.bmp"
If File.Exists(filePath) Then
' Add timestamp or increment filename
filePath = $"barcode_{DateTime.Now:yyyyMMdd_HHmmss}.bmp"
End If
myBarcode.SaveAs1BppBitmap(filePath)Comment convertir des codes-barres en données binaires 1BPP ?
Pour enregistrer sous forme de données binaires, utilisez la méthode To1BppBinaryData. Le format binaire permet d'utiliser les données ailleurs dans les applications et de les intégrer aux systèmes existants. Cette approche ressemble à l'exportation des codes-barres sous forme de flux, mais optimisée pour le format 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();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();Imports IronBarCode
' Create a barcode with "12345" encoded in the EAN8 format
Dim myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8)
' Save the barcode as a 1pp binary data object
Dim byteData = myBarcode.To1BppBinaryData()Imports IronBarCode
' Create a barcode with "12345" encoded in the EAN8 format
Dim myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8)
' Save the barcode as a 1pp binary data object
Dim byteData = myBarcode.To1BppBinaryData()Pourquoi aurais-je besoin de données binaires plutôt que de fichiers images ?
Les données binaires présentent des avantages par rapport au stockage sous forme de fichiers :
- Intégration dans une base de données : stockage direct dans des champs BLOB
- Efficacité de la mémoire : pas de surcharge d'E/S de fichiers
- Transmission par API : Facilité d'envoi via les API REST
- Génération dynamique : Créer des BarCodes sans accès au système de fichiers
- Déploiement sur le cloud : Parfait pour les environnements sans serveur
Comment puis-je intégrer des données de codes-barres binaires à des bases de données?
Les données des codes-barres binaires s'intègrent parfaitement aux bases de données modernes. Cet exemple montre le stockage et la récupération :
// 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();
}
}
}// 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();
}
}
}' Storing barcode in database
Public Sub StoreBarcodeInDatabase(barcodeValue As String, connectionString As String)
Dim barcode = BarcodeWriter.CreateBarcode(barcodeValue, BarcodeWriterEncoding.Code128)
Dim barcodeData As Byte() = barcode.To1BppBinaryData()
Using conn As New SqlConnection(connectionString)
Dim query As String = "INSERT INTO BarcodeTable (Value, ImageData, CreatedDate) VALUES (@value, @data, @date)"
Using cmd As New SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@value", barcodeValue)
cmd.Parameters.AddWithValue("@data", barcodeData)
cmd.Parameters.AddWithValue("@date", DateTime.Now)
conn.Open()
cmd.ExecuteNonQuery()
End Using
End Using
End Sub' Storing barcode in database
Public Sub StoreBarcodeInDatabase(barcodeValue As String, connectionString As String)
Dim barcode = BarcodeWriter.CreateBarcode(barcodeValue, BarcodeWriterEncoding.Code128)
Dim barcodeData As Byte() = barcode.To1BppBinaryData()
Using conn As New SqlConnection(connectionString)
Dim query As String = "INSERT INTO BarcodeTable (Value, ImageData, CreatedDate) VALUES (@value, @data, @date)"
Using cmd As New SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@value", barcodeValue)
cmd.Parameters.AddWithValue("@data", barcodeData)
cmd.Parameters.AddWithValue("@date", DateTime.Now)
conn.Open()
cmd.ExecuteNonQuery()
End Using
End Using
End SubQuels sont les cas d'utilisation courants des données de codes-barres binaires?
Les données des codes-barres binaires sont couramment utilisées dans :
- Web APIs : Renvoyer des images de BarCode sans fichiers temporaires
- Génération de rapports : incorporez des codes-barres directement dans les rapports PDF
- Systèmes de courrier électronique : Attacher des BarCodes aux courriels automatisés
- Systèmes de cache : Stockage dans Redis ou Memcached
- Microservices : Faire passer des données de BarCode entre les services
Pour les scénarios avancés, explorez le traitement asynchrone des codes-barres pour les applications à fort volume.
Questions Fréquemment Posées
Que sont les images de codes-barres BarCode et pourquoi devrais-je les utiliser ?
les images de codes-barres 1BPP (1 bit par pixel) sont des images monochromes qui n'affichent que le noir et le blanc, chaque pixel n'utilisant qu'un seul bit. IronBarcode vous permet de créer ces images compactes, qui offrent la plus petite taille de fichier possible tout en conservant la lisibilité de la machine. Elles sont idéales pour les imprimantes thermiques, l'optimisation du stockage des bases de données et le traitement des codes-barres en vrac.
Comment créer une image de code-barres 1BPP en C# ?
Avec IronBarcode, vous pouvez créer une image de code-barres 1BPP en une seule ligne de code à l'aide de la méthode To1BppImage(). Utilisez simplement : var img = IronBarCode.BarcodeWriter.CreateBarcode("12345", IronBarCode.BarcodeWriterEncoding.EAN8).To1BppImage() ;
Quelles sont les méthodes disponibles pour générer des codes-barres 1BPP ?
IronBarcode fournit trois méthodes principales pour créer des images de codes-barres 1BPP : To1BppImage() pour la conversion d'image standard, SaveAs1BppBitmap() pour l'enregistrement direct en tant que fichier bitmap, et To1BppBinaryData() pour la génération de données binaires adaptées à la transmission directe aux imprimantes ou aux systèmes de stockage.
Puis-je redimensionner les codes-barres avant de les convertir au format BarCode ?
Oui, IronBarcode vous permet de personnaliser vos codes-barres avant la conversion 1BPP. Vous pouvez utiliser la méthode ResizeTo() pour ajuster les dimensions, en veillant à ce que votre code-barres réponde à des exigences de taille spécifiques avant de le convertir au format compact 1BPP.
Les codes-barres 1BPP sont-ils adaptés à tous les formats de codes-barres ?
IronBarcode prend en charge la conversion de tous ses formats de codes-barres pris en charge en images 1BPP. Que vous travailliez avec des codes EAN8, Code128, QR ou tout autre format pris en charge, la conversion 1BPP offre des performances cohérentes et maintient la lisibilité de la machine pour tous les types de codes.
Quels sont les avantages de l'utilisation des codes-barres BarCode pour les imprimantes thermiques ?
les images de codes-barres 1BPP sont particulièrement efficaces pour les imprimantes thermiques car elles correspondent à la capacité de sortie monochrome de l'imprimante. La conversion 1BPP d'IronBarcode réduit considérablement la taille des fichiers, ce qui permet une transmission plus rapide aux imprimantes et des flux d'impression plus efficaces, en particulier dans les scénarios à fort volume.
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 détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.