←Select platform

Granularity Property

Summary
Gets or sets a value that indicate the number of scanned lines per column to skip when reading a barcode.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public int Granularity { get; set; } 
@property (nonatomic, assign) NSInteger granularity; 
public int getGranularity() 
public void setGranularity(int value) 
public: 
property int Granularity { 
   int get(); 
   void set (    int ); 
} 
Granularity # get and set (FourStateBarcodeReadOptions) 

Property Value

An Int32 that indicates the number of scanned lines per column to skip when reading a barcode. Must be a value greater to or equal to 1. The default value is 9.

Remarks

A value of 9 means that each tenth line will be scanned when looking for a barcode. Scanning every line will slow the search process while skipping too many lines may skip over the barcode.

Example
C#
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 to 
   int 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 Post 
      WriteBarcode(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 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 USPS barcode 
         ReadBarcodes(engine.Reader, image, BarcodeSymbology.USPS4State); 
 
         // Read the Royal Mail barcode 
         ReadBarcodes(engine.Reader, image, BarcodeSymbology.RoyalMail4State); 
 
         // Read the Australian Post barcode 
         ReadBarcodes(engine.Reader, image, BarcodeSymbology.AustralianPost4State); 
      } 
   } 
} 
 
private void WriteBarcode(BarcodeWriter writer, RasterImage image, BarcodeSymbology symbology, string value, LeadRect bounds) 
{ 
   // Create the barcode data 
   BarcodeData barcode = new BarcodeData(symbology, value); 
   barcode.Bounds = bounds; 
 
   // Set the write options 
   FourStateBarcodeWriteOptions options = new FourStateBarcodeWriteOptions(); 
   options.TextPosition = BarcodeOutputTextPosition.Default; 
   options.XModule = 30; 
   options.AustralianPostCIFEncoding = AustralianPost4StateBarcodeCIFEncoding.CTable; 
 
   // Write it 
   Console.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 options 
   FourStateBarcodeReadOptions 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"; 
} 
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.