public int XModule { get; set; }
An Int32 that indicates the size of the smallest module when writing a 4-State barcode in thousandths of an inch. Must be a value greater to or equal to 0. Default value is 30 (0.03 of an inch).
If the value is too small, a minimum of 2 pixels will be used regardless of the value set in XModule.
For more information, refer to Writing Barcodes - Bounds and XModule.
using Leadtools;using Leadtools.Codecs;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void FourStateBarcode_Example(){string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyFourStateBarcodes.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 Four-State barcodes, a USPS, Royal Mail and Australian PostWriteBarcode(engine.Writer, image, BarcodeSymbology.USPS4State, "0123456709498765432101234567891", new LeadRect(10, 100, 400, 200));WriteBarcode(engine.Writer, image, BarcodeSymbology.RoyalMail4State, "123456789", new LeadRect(10, 500, 400, 200));WriteBarcode(engine.Writer, image, BarcodeSymbology.AustralianPost4State, "11-12345678", new LeadRect(10, 900, 400, 200));// 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 USPS barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.USPS4State);// Read the Royal Mail barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.RoyalMail4State);// Read the Australian Post barcodeReadBarcodes(engine.Reader, image, BarcodeSymbology.AustralianPost4State);}}}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 optionsFourStateBarcodeWriteOptions options = new FourStateBarcodeWriteOptions();options.TextPosition = BarcodeOutputTextPosition.Default;options.XModule = 30;options.AustralianPostCIFEncoding = AustralianPost4StateBarcodeCIFEncoding.CTable;// 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 optionsFourStateBarcodeReadOptions options = new FourStateBarcodeReadOptions();options.SearchDirection = BarcodeSearchDirection.Horizontal;options.Granularity = 9;options.ReturnCheckDigit = BarcodeReturnCheckDigit.Default;options.AustralianPostCIFEncoding = AustralianPost4StateBarcodeCIFEncoding.CTable;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:\LEADTOOLS23\Resources\Images";}