Comment lire des codes-barres dans des images GIF et TIFF à pages multiples ?
IronBarcode prend en charge divers formats d'image en entrée pour la lecture, y compris les formats d'image GIF et TIFF multi-pages et multi-images. Cela permet aux utilisateurs d'utiliser simplement l'image sans avoir à séparer manuellement les cadres ou les pages d'un fichier TIFF ou GIF. Voyons comment utiliser IronBarcode pour lire ces formats de fichiers.
Comment lire des codes-barres dans des images GIF et TIFF à pages multiples ?
- Download the C# library for reading barcodes
- Préparer des images GIF et TIFF pour la détection de codes-barres
- Passez les images GIF et TIFF à plusieurs frames à la méthode
Read
- Appliquer des filtres d'image et des options pour améliorer la précision et la performance
- Convert images to multi-frame GIF and TIFF
Commencer avec IronBarcode
Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui avec un essai gratuit.
Lire des images multiframes GIF et TIFF
Lire des images GIF et TIFF multiframe avec IronBarcode est aussi simple que de lire une seule image, car IronBarcode accepte facilement les fichiers image multipages dans la méthode BarcodeReader.Read
. Les utilisateurs n'ont pas besoin de faire de préparation d'image car tout a été internalisé dans la bibliothèque.
L'exemple de code ci-dessous montre comment lire des fichiers GIF et TIFF multipages :
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-read-tif.cs
using IronBarCode;
using System;
// Read barcode from TIF image
BarcodeResults results = BarcodeReader.Read("sample.tif");
// Output the barcodes value to console
foreach (var result in results)
{
Console.WriteLine(result.Value);
}
Imports IronBarCode
Imports System
' Read barcode from TIF image
Private results As BarcodeResults = BarcodeReader.Read("sample.tif")
' Output the barcodes value to console
For Each result In results
Console.WriteLine(result.Value)
Next result
Convertir des images en GIF et TIFF
Apprenez comment convertir des images en TIFF et GIF multipages en utilisant notre bibliothèque open-source, IronDrawing. Examinons maintenant l'exemple de code ci-dessous, qui explique comment générer une image GIF ou TIFF multipage.
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-create-tiff-gif.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Import images
List<AnyBitmap> images = new List<AnyBitmap>()
{
AnyBitmap.FromFile("image1.png"),
AnyBitmap.FromFile("image2.png"),
AnyBitmap.FromFile("image3.png"),
AnyBitmap.FromFile("image4.jpg"),
AnyBitmap.FromFile("image5.jpg")
};
// Convert TIFF from images
AnyBitmap tiffImage = AnyBitmap.CreateMultiFrameTiff(images);
// Export TIFF
tiffImage.SaveAs("multiframetiff.tiff");
// Convert GIF from images
AnyBitmap gifImage = AnyBitmap.CreateMultiFrameGif(images);
// Export GIF
gifImage.SaveAs("multiframegif1.gif");
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System.Collections.Generic
' Import images
Private images As New List(Of AnyBitmap)() From {AnyBitmap.FromFile("image1.png"), AnyBitmap.FromFile("image2.png"), AnyBitmap.FromFile("image3.png"), AnyBitmap.FromFile("image4.jpg"), AnyBitmap.FromFile("image5.jpg")}
' Convert TIFF from images
Private tiffImage As AnyBitmap = AnyBitmap.CreateMultiFrameTiff(images)
' Export TIFF
tiffImage.SaveAs("multiframetiff.tiff")
' Convert GIF from images
Dim gifImage As AnyBitmap = AnyBitmap.CreateMultiFrameGif(images)
' Export GIF
gifImage.SaveAs("multiframegif1.gif")
À partir de l'extrait de code ci-dessus, nous pouvons d'abord regrouper un certain nombre de fichiers image en les important dans une liste d'objets AnyBitmap
. Cette liste peut ensuite être utilisée comme paramètre lors de l'appel des méthodes AnyBitmap.CreateMultiFrameTiff
et AnyBitmap.CreateMultiFrameGif
pour obtenir respectivement les objets TIFF multipage et GIF multipage.
Bien que les formats GIF multipage et TIFF permettent tous deux de regrouper des images dans un seul fichier, il existe plusieurs différences entre ces deux formats, comme indiqué ci-dessous :
Aspect | Multipage GIF | Multipage TIFF |
---|---|---|
Compression | GIF images use lossless compression, meaning that no image data is lost during compression. This results in relatively larger file sizes compared to formats with lossy compression. | TIFF files can use various compression methods, including lossless compression (such as LZW) and lossy compression (such as JPEG). This flexibility allows TIFF files to balance between file size and image quality. |
Color Depth | GIF supports up to 256 colors (8-bit color depth), which is limited compared to other formats. This limited color palette can result in a loss of detail and color accuracy, especially for photographs and images with gradients | TIFF supports various color depths, including 1-bit (binary), 8-bit (256 colors), 24-bit (true color), and more. This flexibility allows TIFF to store images with different levels of color detail. |
Transparency | GIF supports binary transparency, which means that a single color can be fully transparent, and the rest of the colors are fully opaque. This lack of partial transparency can sometimes lead to jagged edges in images with smooth transitions. | TIFF supports multiple forms of transparency, including binary transparency (similar to GIF) and alpha channel transparency. Alpha channel transparency allows for smooth transitions and semi-transparent pixels, providing high-quality transparency effects. |
Animation | GIF supports simple animations by combining multiple frames into a single file. Each frame can have its own time delay, creating a basic form of animation. GIF animations are widely supported on the web. | TIFF is not primarily designed for animations. While it can store multiple images, it lacks built-in animation support like GIF. Each page in a multipage TIFF file is typically a separate image rather than a frame in an animation sequence. |
Lecture avancée des codes-barres
Bien que IronBarcode fonctionne directement dès l'installation, certaines images peuvent nécessiter la configuration de la classe BarcodeReaderOptions
pour obtenir une lecture de code-barres précise et rapide. Vous pouvez trouver plus d'informations sur cette classe dans l'article 'Comment lire les codes-barres à partir de fichiers image (jpg, png, gif, tiff, svg, bmp)'.
Le code d'exemple ci-dessous fournit des exemples des propriétés nécessaires qui peuvent être configurées dans la classe BarcodeReaderOptions
.
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-advance.cs
using IronBarCode;
using System;
// Configure filters
ImageFilterCollection filters = new ImageFilterCollection()
{
new SharpenFilter(3.5f),
new ContrastFilter(2)
};
// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.QRCode,
ImageFilters = filters,
ExpectMultipleBarcodes = true,
Speed = ReadingSpeed.Balanced
};
// Read barcode from TIF image
BarcodeResults results = BarcodeReader.Read("sample.tif", options);
// Output the barcodes value to console
foreach (var result in results)
{
Console.WriteLine(result.Value);
}
Imports IronBarCode
Imports System
' Configure filters
Private filters As New ImageFilterCollection() From {
New SharpenFilter(3.5F),
New ContrastFilter(2)
}
' Configure options
Private options As New BarcodeReaderOptions() With {
.ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.QRCode,
.ImageFilters = filters,
.ExpectMultipleBarcodes = True,
.Speed = ReadingSpeed.Balanced
}
' Read barcode from TIF image
Private results As BarcodeResults = BarcodeReader.Read("sample.tif", options)
' Output the barcodes value to console
For Each result In results
Console.WriteLine(result.Value)
Next result
Dans l'extrait de code, nous définissons non seulement les propriétés de BarcodeReaderOptions
, mais nous appliquons également certains filtres, notamment le SharpenFilter
et le ContrastFilter
. Ces filtres permettent essentiellement d'améliorer la clarté des images floues pour la détection et la lecture des codes-barres. Vous pouvez trouver plus d'informations sur les filtres de correction d'image dans l'article 'Comment utiliser les filtres de correction d'image'.
Pour l'objet BarcodeReaderOptions
, nous suggérons aux utilisateurs d'inclure ExpectMultipleBarcodes
pour qu'IronBarcode scanne tous les codes-barres disponibles dans le fichier image, Speed
pour équilibrer entre la précision de lecture et la performance, ExpectBarcodeTypes
pour augmenter encore la performance, et ImageFilters
pour appliquer les filtres définis dans l'objet ImageFilterCollection
pour la précision de lecture.
Bien que la configuration de l'objet BarcodeReaderOptions
soit facultative pour la plupart des cas d'utilisation, il est important pour les utilisateurs de tirer le meilleur parti d'IronBarcode lors de la lecture de codes-barres à partir de fichiers d'image GIF et TIFF multipages.