PatchCodeBarcodeWriteOptions Class (original) (raw)

Summary

Contains extra options to use when writing Patch Code barcodes.

Syntax

C#

Objective-C

C++/CLI

Java

Python

@interface LTPatchCodeBarcodeWriteOptions : LTBarcodeWriteOptions 
public class PatchCodeBarcodeWriteOptions extends BarcodeWriteOptions 

[TypeConverterAttribute()] [SerializableAttribute()] public ref class PatchCodeBarcodeWriteOptions : public [BarcodeWriteOptions](barcodewriteoptions.html), System.ICloneable

class PatchCodeBarcodeWriteOptions(BarcodeWriteOptions): 

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.Barcode; using Leadtools.ImageProcessing; public void PatchCodeBarcode_Example() { string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyPatchCodeBarcode.tif"); BarcodeEngine engine = new BarcodeEngine(); // Create the image to write the barcodes to int resolution = 300; using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))) { // Write two PatchCode barcodes WriteBarcode(engine.Writer, image, "1100"); // Save the image using (RasterCodecs codecs = new RasterCodecs()) { codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1); } } // Now read the barcodes again using (RasterCodecs codecs = new RasterCodecs()) { using (RasterImage image = codecs.Load(imageFileName)) { // Read the PatchCode barcode ReadBarcode(engine.Reader, image); } } } private void WriteBarcode(BarcodeWriter writer, RasterImage image, string value) { // Create the barcode data BarcodeData barcode = new BarcodeData(BarcodeSymbology.PatchCode, value); // Set the write options PatchCodeBarcodeWriteOptions options = new PatchCodeBarcodeWriteOptions(); // Use X Module when writing the barcode options.UseXModule = true; options.XModule = 30; // Usually PatchCodes are centered in the middle of the page and take the whole height // Calculate its size writer.CalculateBarcodeDataBounds(new LeadRect(0, 0, image.ImageWidth, image.ImageHeight), image.XResolution, image.YResolution, barcode, options); // Position it LeadRect pixels = barcode.Bounds; pixels.X = (image.ImageWidth - pixels.Width) / 2; pixels.Y = 0; pixels.Height = image.ImageHeight; barcode.Bounds = new LeadRect(); // Write it Console.WriteLine("Writing barcode with Data: {0}", value); writer.WriteBarcode(image, barcode, options); } private void ReadBarcode(BarcodeReader reader, RasterImage image) { // Setup read options PatchCodeBarcodeReadOptions options = new PatchCodeBarcodeReadOptions(); options.SearchDirection = BarcodeSearchDirection.Horizontal; options.Granularity = 9; Console.WriteLine("Reading PatchCode barcode"); BarcodeData barcode = reader.ReadBarcode(image, LeadRect.Empty, BarcodeSymbology.PatchCode, options); if (barcode != null) { Console.WriteLine(" At {0}, data: {1}", barcode.Bounds, barcode.Value); } else { Console.WriteLine(" Not found"); } } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }