Comment lire des codes-barres dans des images GIF et TIFF à pages multiples ?
IronBarcode prend en charge plusieurs formats d'image pour la lecture, y compris les formats d'image multi-page et multi-trame GIF et TIFF. 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 ?
- Télécharger la bibliothèque C# pour la lecture des codes-barres
- Préparer des images GIF et TIFF pour la détection de codes-barres
- Transmettre les images GIF et TIFF multi-trames à la fonction
Lire
méthode - Appliquer des filtres d'image et des options pour améliorer la précision et la performance
- Conversion d'images en GIF et TIFF multi-images
Installer avec NuGet
Install-Package BarCode
Télécharger DLL
Installation manuelle dans votre projet
Installer avec NuGet
Install-Package BarCode
Télécharger DLL
Installation manuelle dans votre projet
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
Découvrez IronBarcode sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme avec C#.
Install-Package BarCode
Envisagez d'installer le IronBarcode DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}
Installation manuelle dans votre projet
Télécharger la DLLLire des images multiframes GIF et TIFF
La lecture d'images multiframes GIF et TIFF à l'aide d'IronBarcode est aussi facile que la lecture d'une seule image car IronBarcode accepte facilement les fichiers d'images multipages dans la méthode BarcodeReader.Read
Les utilisateurs n'ont pas besoin de préparer les images car elles sont toutes internalisées 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 à convertir des images au format TIFF et GIF multipage en utilisant notre bibliothèque open-source, Dessin au fer. 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")
Dans l'extrait de code ci-dessus, nous pouvons d'abord regrouper un certain nombre de fichiers images en les important dans une liste d'objets AnyBitmap
. Cette liste peut ensuite être utilisée comme paramètre lors de l'appel aux méthodes AnyBitmap.CreateMultiFrameTiff
et AnyBitmap.CreateMultiFrameGif
pour obtenir les objets TIFF et GIF multipages, respectivement.
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 | GIF multipage | TIFF multipage |
---|---|---|
Compression | Les images GIF utilisent une compression sans perte, ce qui signifie qu'aucune donnée d'image n'est perdue lors de la compression. La taille des fichiers est donc relativement plus importante que celle des formats à compression avec perte. | Les fichiers TIFF peuvent utiliser différentes méthodes de compression, y compris la compression sans perte (telle que LZW) et la compression avec perte (telle que JPEG). Cette flexibilité permet aux fichiers TIFF de trouver un équilibre entre la taille du fichier et la qualité de l'image. |
Profondeur de couleur | Le format GIF prend en charge jusqu'à 256 couleurs (profondeur de couleur de 8 bits), ce qui est limité par rapport à d'autres formats. Cette palette de couleurs limitée peut entraîner une perte de détails et de précision des couleurs, en particulier pour les photographies et les images avec des dégradés | Le format TIFF prend en charge différentes profondeurs de couleurs, notamment 1 bit (binaire), 8 bits (256 couleurs), 24 bits (couleurs réelles), etc. Cette flexibilité permet au format TIFF de stocker des images avec différents niveaux de détail des couleurs. |
Transparence | Le format GIF prend en charge la transparence binaire, ce qui signifie qu'une seule couleur peut être totalement transparente, tandis que les autres couleurs sont totalement opaques. Cette absence de transparence partielle peut parfois entraîner des bords irréguliers dans des images aux transitions fluides. | Le format TIFF prend en charge plusieurs formes de transparence, notamment la transparence binaire (similaire au format GIF) et la transparence du canal alpha. La transparence du canal alpha permet des transitions fluides et des pixels semi-transparents, offrant des effets de transparence de haute qualité. |
Animation | Le format GIF permet de réaliser des animations simples en combinant plusieurs images dans un seul fichier. Chaque image peut avoir son propre délai, créant ainsi une forme d'animation de base. Les animations GIF sont largement prises en charge sur le web. | Le format TIFF n'est pas conçu pour les animations. Bien qu'il puisse stocker plusieurs images, il ne dispose pas d'un support d'animation intégré comme le GIF. Chaque page d'un fichier TIFF multipage est généralement une image distincte plutôt qu'une image dans une séquence d'animation. |
Lecture avancée des codes-barres
Bien qu'IronBarcode fonctionne directement, certaines images peuvent nécessiter la configuration de la classe BarcodeReaderOptions
pour obtenir une lecture précise et rapide des codes-barres. Vous pouvez trouver plus d'informations sur cette classe dans la rubrique 'Comment lire des codes-barres à partir de fichiers images (jpg, png, gif, tiff, svg, bmp) ?' article.
L'extrait de code ci-dessous donne 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 cet extrait de code, nous ne nous contentons pas de définir les propriétés de BarcodeReaderOptions
, mais nous appliquons également quelques filtres, en particulier SharpenFilter
et ContrastFilter
. Ces filtres permettent essentiellement d'améliorer la clarté des images floues pour la détection et la lecture des codes-barres. Vous trouverez de plus amples informations sur les filtres de correction d'image dans la sectionComment utiliser les filtres de correction d'image' article.
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 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
afin d'améliorer la précision de lecture.
Bien que la définition de l'objet BarcodeReaderOptions
soit optionnelle dans 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'images GIF et TIFF multipages.