Lesen von Barcodes aus Multi-Page/Frame GIF und TIFF
IronBarcode unterstützt verschiedene Bildformateingaben zum Lesen, einschließlich mehrseitiger und mehrrahmiger GIF- und TIFF-Bildformate. Dies erleichtert den Benutzern die Verwendung des Bildes, ohne dass sie die Rahmen oder Seiten einer TIFF- oder GIF-Datei manuell trennen müssen. Sehen wir uns an, wie IronBarcode diese Dateiformate lesen kann.
Lesen von Barcodes aus Multi-Page/Frame GIF und TIFF
- Download the C# library for reading barcodes
- GIF- und TIFF-Bilder für die Barcode-Erkennung vorbereiten
- Übergeben Sie die mehrseitigen GIF- und TIFF-Bilder an die
Read
-Methode - Bildfilter und Optionen anwenden, um Genauigkeit und Leistung zu verbessern
- Convert images to multi-frame GIF and TIFF
Erste Schritte mit IronBarcode
Beginnen Sie noch heute mit der Verwendung von IronBarcode in Ihrem Projekt mit einer kostenlosen Testversion.
Lesen von GIF- und TIFF-Multiframe-Bildern
Das Lesen von Mehrfachrahmen-GIF- und TIFF-Bildern mit IronBarcode ist genauso einfach wie das Lesen einzelner Bilder, da IronBarcode die mehrseitigen Bilddateien problemlos in die BarcodeReader.Read
-Methode akzeptiert. Die Benutzer müssen keine Bildvorbereitung durchführen, da dies alles in der Bibliothek intern gehandhabt wird.
Das folgende Codebeispiel zeigt, wie mehrseitige GIF- und TIFF-Dateien gelesen werden können:
: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);
}
Bilder in GIF und TIFF konvertieren
Lernen Sie, wie Sie Bilder mit unserer Open-Source-Bibliothek IronDrawing in mehrseitige TIFF- und GIF-Dateien umwandeln können. Schauen wir uns nun das folgende Codebeispiel an, um ein mehrseitiges GIF- oder TIFF-Bild zu erzeugen.
: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");
Aus dem obigen Codebeispiel können wir zuerst eine Anzahl von Bilddateien gruppieren, indem wir sie in eine Liste von AnyBitmap
-Objekten importieren. Diese Liste kann dann als Parameter verwendet werden, wenn die Methoden AnyBitmap.CreateMultiFrameTiff
und AnyBitmap.CreateMultiFrameGif
aufgerufen werden, um die mehrseitigen TIFF- bzw. GIF-Objekte zu erhalten.
Obwohl sowohl das mehrseitige GIF- als auch das TIFF-Format eine Möglichkeit bieten, Bilder in einer einzigen Datei zusammenzufassen, gibt es einige Unterschiede zwischen den beiden Formaten, die im Folgenden erläutert werden:
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. |
Fortgeschrittenes Barcode-Lesen
Obwohl IronBarcode direkt einsatzbereit ist, kann es erforderlich sein, die BarcodeReaderOptions
-Klasse zu konfigurieren, um eine genaue und schnelle Barcodelesung zu erreichen. Weitere Informationen zu dieser Klasse finden Sie im Artikel 'Wie man Barcodes aus Bilddateien liest (jpg, png, gif, tiff, svg, bmp)'.
Der folgende Codeausschnitt bietet Beispiele für die erforderlichen Eigenschaften, die in der BarcodeReaderOptions
-Klasse konfiguriert werden können.
: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);
}
Im Codeausschnitt setzen wir nicht nur die Eigenschaften von BarcodeReaderOptions
, sondern wir wenden auch einige Filter an, insbesondere den SharpenFilter
und ContrastFilter
. Diese Filter tragen wesentlich dazu bei, die Klarheit unscharfer Bilder für die Erkennung und das Lesen von Strichcodes zu verbessern. Weitere Informationen zu Bildkorrekturfiltern finden Sie im Artikel 'Wie man Bildkorrekturfilter verwendet'.
Für das BarcodeReaderOptions
-Objekt empfehlen wir den Benutzern, ExpectMultipleBarcodes
einzuschließen, damit IronBarcode alle verfügbaren Barcodes in der Bilddatei scannt, Speed
um die Balance zwischen Lesegenauigkeit und Leistung zu wahren, ExpectBarcodeTypes
um die Leistung weiter zu steigern, und ImageFilters
, um die im ImageFilterCollection
-Objekt festgelegten Filter für die Lesegenauigkeit anzuwenden.
Obwohl das Festlegen des BarcodeReaderOptions
-Objekts für die meisten Anwendungsfälle optional ist, ist es wichtig, dass Benutzer von IronBarcode optimal profitieren, wenn sie Barcodes aus mehrseitigen GIF- und TIFF-Bilddateien lesen.