public bool UseXModule { get; set; }
true to use XModule when writing barcodes of this type. Otherwise, false. The default value is false.
When the value of UseXModule is set to false, then the smallest module size is calculated from the size of the barcode data (BarcodeData.Bounds).
When the value of UseXModule is set to true, then the smallest module size is set in XModule and the barcode data size may be used as a "clipping" boundary.
For more information, refer to Writing Barcodes - Bounds and XModule.
using Leadtools;using Leadtools.Codecs;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void GS1DatabarStackedBarcode_Example(){string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyGS1DatabarStackedBarcodes.tif");BarcodeEngine engine = new BarcodeEngine();// Create the image to write the barcodes toint resolution = 300;using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))){// Write a few GS1 Databar Stacked barcodesWriteBarcode(engine.Writer, image, BarcodeSymbology.GS1DatabarStacked, "1234567890123", new LeadRect(10, 100, 400, 400));WriteBarcode(engine.Writer, image, BarcodeSymbology.GS1DatabarExpandedStacked, "(01)00012345678905(10)ABC123", new LeadRect(10, 900, 400, 400));// Save the imageusing (RasterCodecs codecs = new RasterCodecs()){codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1);}}// Now read the barcodes againusing (RasterCodecs codecs = new RasterCodecs()){using (RasterImage image = codecs.Load(imageFileName)){// Read the GS1 Databar Stacked barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.GS1DatabarStacked);// Read the GS1 Databar Expanded Stacked barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.GS1DatabarExpandedStacked);}}}private void WriteBarcode(BarcodeWriter writer, RasterImage image, BarcodeSymbology symbology, string value, LeadRect bounds){// Create the barcode dataBarcodeData barcode = new BarcodeData(symbology, value);barcode.Bounds = bounds;// Set the write optionsGS1DatabarStackedBarcodeWriteOptions options = new GS1DatabarStackedBarcodeWriteOptions();options.UseXModule = false;options.XModule = 30;options.SetLinkageBit = false;options.UseStackedOmniDirectionalFormat = false;options.ExpandedStackedRowsCount = 2;// Write itConsole.WriteLine("Writing {0} barcode with data: {1}", symbology, value);writer.WriteBarcode(image, barcode, options);}private void ReadBarcodes(BarcodeReader reader, RasterImage image, BarcodeSymbology symbology){// Setup read optionsGS1DatabarStackedBarcodeReadOptions options = new GS1DatabarStackedBarcodeReadOptions();options.SearchDirection = BarcodeSearchDirection.Horizontal;options.EnableFastMode = true;options.Granularity = 9;options.ReturnCheckDigit = BarcodeReturnCheckDigit.Default;Console.WriteLine("Reading {0} barcodes", symbology);BarcodeData barcode = reader.ReadBarcode(image, LeadRect.Empty, symbology, 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";}