WriteBarcode Method (original) (raw)

Summary

Writes a barcode to an image.

Syntax

C#

Objective-C

C++/CLI

Java

Python

- (BOOL)writeBarcode:(LTRasterImage *)image data:(LTBarcodeData *)data options:(nullable LTBarcodeWriteOptions *)options error:(NSError **)error; 

public void writeBarcode( RasterImage _image_, BarcodeData _data_, BarcodeWriteOptions _options_ )

Parameters

image
The RasterImage that specifies the image to write the barcode to. Must not be null (Nothing in VB).

data
The barcode data. Must not be null (Nothing in VB).

options
Write options. Could be null (Nothing in VB).

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.Barcode; using Leadtools.ImageProcessing; public void BarcodeWriter_Example() { // Create a directory to store the images we will create string outDir = Path.Combine(LEAD_VARS.ImagesDir, "MyBarcodes"); if (Directory.Exists(outDir)) { Directory.Delete(outDir, true); } Directory.CreateDirectory(outDir); int resolution = 300; // Create a Barcode engine BarcodeEngine engine = new BarcodeEngine(); // Get the Barcode writer BarcodeWriter writer = engine.Writer; // All 1D options have the UseXModule set to false by default, we need to set it to true // so we can calculate the default size. We will change the default options so we can // pass null to CalculateBarcodeDataBounds and WriteBarcode below // For all Standard 1D OneDBarcodeWriteOptions oneDWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.UPCA) as OneDBarcodeWriteOptions; oneDWriteOptions.UseXModule = true; // All GS1 Databar Stacked GS1DatabarStackedBarcodeWriteOptions gs1DatabarStackedWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.GS1DatabarStacked) as GS1DatabarStackedBarcodeWriteOptions; gs1DatabarStackedWriteOptions.UseXModule = true; // Patch Code PatchCodeBarcodeWriteOptions patchCodeWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PatchCode) as PatchCodeBarcodeWriteOptions; patchCodeWriteOptions.UseXModule = true; // All PostNet/Planet PostNetPlanetBarcodeWriteOptions postNetPlanetWriteOptions = writer.GetDefaultOptions(BarcodeSymbology.PostNet) as PostNetPlanetBarcodeWriteOptions; postNetPlanetWriteOptions.UseXModule = true; // We will use this object to save files using (RasterCodecs codecs = new RasterCodecs()) { // Get all the available write symbologies BarcodeSymbology[] symbologies = writer.GetAvailableSymbologies(); foreach (BarcodeSymbology symbology in symbologies) { Console.WriteLine("Processing {0}", symbology); // Create the default data for this symbology BarcodeData data = BarcodeData.CreateDefaultBarcodeData(symbology); // Calculate its size with default options writer.CalculateBarcodeDataBounds(LeadRect.Empty, resolution, resolution, data, null); // Create an image to write the data to LeadRect pixels = data.Bounds; using (RasterImage image = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))) { // Write the barcode with default options writer.WriteBarcode(image, data, null); // Save it string outFileName = Path.Combine(outDir, symbology + ".tif"); codecs.Save(image, outFileName, RasterImageFormat.Tif, 1); } } } } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }