←Select platform

XModule Property

Summary
Gets or sets a value that indicates the size of the smallest module when writing an Aztec barcode.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public int XModule { get; set; } 
@property (nonatomic, assign) NSInteger xModule; 
public int getXModule() 
public void setXModule(int value) 
public: 
property int XModule { 
   int get(); 
   void set (    int ); 
} 
XModule # get and set (AztecBarcodeWriteOptions) 

Property Value

An Int32 that indicates the size of the smallest module when writing an Aztec barcode in a thousandth of an inch. Must be a value greater to or equal to 0. Default value is 30 (0.03 of an inch). The default value is 10.

Remarks

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.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
 
public void AztecBarcode_Example() 
{ 
 
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyAztecBarcodes.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 Aztec barcodes 
      WriteBarcode(engine.Writer, image, AztecBarcodeSymbolModel.AutoSize, "Aztec Data 1", 0); 
      WriteBarcode(engine.Writer, image, AztecBarcodeSymbolModel.Compact4, "Aztec Data 2", 1000); 
 
      // 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 all the Aztec barcodes 
         ReadBarcodes(engine.Reader, image); 
      } 
   } 
} 
 
private void WriteBarcode(BarcodeWriter writer, RasterImage image, AztecBarcodeSymbolModel symbolModel, string value, int startRow) 
{ 
 
   // Create the barcode data 
   AztecBarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.Aztec) as AztecBarcodeData; 
   barcode.Value = value; 
 
   // We will use the alignment to position the barcodes, so use all of the image 
   barcode.Bounds = new LeadRect(0, startRow, image.ImageWidth, image.ImageHeight); 
 
   // Set the write options 
   AztecBarcodeWriteOptions options = new AztecBarcodeWriteOptions(); 
 
   options.AztecRune = false; 
   options.AztecRuneValue = 150; 
   options.ErrorCorrectionRate = 23; 
   options.XModule = 30; 
   options.QuietZone = 10; 
   options.SymbolModel = symbolModel; 
 
   // Write it 
   Console.WriteLine("Writing barcode with symbol model: {0} and Data: {1}", symbolModel, value); 
   Console.WriteLine($"Barcode symbology: {barcode.Symbology}"); 
   writer.WriteBarcode(image, barcode, options); 
} 
 
private void ReadBarcodes(BarcodeReader reader, RasterImage image) 
{ 
   // Setup read options 
   AztecBarcodeReadOptions options = new AztecBarcodeReadOptions(); 
 
   Console.WriteLine("Reading Aztec barcodes"); 
   BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, new BarcodeSymbology[] { BarcodeSymbology.Aztec }, new BarcodeReadOptions[] { options }); 
   Console.WriteLine("{0} barcodes found:", barcodes.Length); 
   foreach (AztecBarcodeData barcode in barcodes) 
   { 
      Console.WriteLine(" At {0}, and data: {1}", barcode.Bounds, barcode.Value); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.Test; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.assertTrue; 
 
import leadtools.*; 
import leadtools.barcode.*; 
import leadtools.codecs.*; 
 
 
public void aztecBarcodeExample() { 
    final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
    String imageFileName = combine(LEAD_VARS_IMAGES_DIR, "barcode1.tif"); 
    BarcodeEngine engine = new BarcodeEngine(); 
 
    // Create the image to write the barcodes to 
    int resolution = 300; 
    RasterImage image = RasterImage.create((int) (8.5 * resolution), (int) (11.0 * resolution), 1, resolution, 
            RasterColor.fromKnownColor(RasterKnownColor.WHITE)); 
 
    // Write two Aztec barcodes 
    writeBarcode(engine.getWriter(), image, AztecBarcodeSymbolModel.AUTO_SIZE, "Aztec Data 1", 0); 
    writeBarcode(engine.getWriter(), image, AztecBarcodeSymbolModel.COMPACT4, "Aztec Data 2", 1000); 
 
    // Save the image 
    RasterCodecs codecs = new RasterCodecs(); 
    codecs.save(image, imageFileName, RasterImageFormat.CCITT_GROUP4, 1); 
    image = codecs.load(imageFileName); 
    assertTrue("File unsuccessfully saved to " + imageFileName, new File(imageFileName).exists()); 
    System.out.println("Image exported to: " + imageFileName); 
 
    // Read all the Aztec barcodes 
    readBarcodes(engine.getReader(), codecs.load(imageFileName)); 
    image.dispose(); 
    codecs.dispose(); 
} 
 
private void writeBarcode(BarcodeWriter writer, RasterImage image, AztecBarcodeSymbolModel symbolModel, String value, int startRow) { 
    // Create the barcode data 
    AztecBarcodeData barcode = (AztecBarcodeData) BarcodeData.createDefaultBarcodeData(BarcodeSymbology.AZTEC); 
    barcode.setValue(value); 
 
    // We will use the alignment to position the barcodes, so use all of the image 
    barcode.setBounds(new LeadRect(0, startRow, image.getImageWidth(), image.getImageHeight())); 
 
    // Set the write options 
    AztecBarcodeWriteOptions options = new AztecBarcodeWriteOptions(); 
 
    options.setAztecRune(false); 
    options.setAztecRuneValue(150); 
    options.setErrorCorrectionRate(23); 
    options.setXModule(30); 
    options.setQuietZone(10); 
    options.setSymbolModel(symbolModel); 
 
    // Write it 
    System.out.printf("Writing barcode with symbol model: %1s and Data: %2s%n", symbolModel, value); 
    System.out.println("Barcode symbology: " + barcode.getSymbology()); 
    writer.writeBarcode(image, barcode, options); 
} 
 
private void readBarcodes(BarcodeReader reader, RasterImage image) { 
    // Setup read options 
    AztecBarcodeReadOptions options = new AztecBarcodeReadOptions(); 
 
    System.out.println("Reading Aztec barcodes"); 
    BarcodeData[] barcodes = reader.readBarcodes(image, LeadRect.getEmpty(), 0, 
            new BarcodeSymbology[] { BarcodeSymbology.AZTEC }, new BarcodeReadOptions[] { options }); 
    System.out.printf("%s barcodes found: %n", barcodes.length); 
    for (BarcodeData barcode : barcodes) { 
        System.out.printf(" At %1s, and data: %2s", barcode.getBounds(), barcode.getValue()); 
    } 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Barcode Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.