←Select platform

ParseECIData Method

Summary
Parse barcode ECI data.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public static string ParseECIData( 
   byte[] data 
) 
+ (nullable NSString *)parseECIData:(NSData *)data error:(NSError **)error 
public static string parseECIData(byte[] data) 
public: 
static String^ ParseECIData(  
   array<byte>^ data 
)  
def ParseECIData(self,data): 

Parameters

data
An array of Byte that specifies the barcode data.

Return Value

The parsed string ECI data, or null if the input data is not ECI.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
 
 
public void QRBarcode_Example() 
{ 
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyQRBarcodes.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 QR barcodes 
      WriteBarcode(engine.Writer, image, QRBarcodeSymbolModel.Model1AutoSize, "QR Data 1", false); 
      WriteBarcode(engine.Writer, image, QRBarcodeSymbolModel.Model2Version30, "QR Data 2", true); 
 
      // 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 QR barcodes 
         ReadBarcodes(engine.Reader, image); 
      } 
   } 
} 
 
private void WriteBarcode(BarcodeWriter writer, RasterImage image, QRBarcodeSymbolModel symbolModel, string value, bool topLeft) 
{ 
   // Create the barcode data 
   QRBarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR) as QRBarcodeData; 
   barcode.SymbolModel = symbolModel; 
   barcode.Value = value; 
   barcode.Symbology = BarcodeSymbology.QR; 
 
   // We will use the alignment to position the barcodes, so use all of the image 
   barcode.Bounds = new LeadRect(0, 0, image.ImageWidth, image.ImageHeight); 
 
   // Set the write options 
   QRBarcodeWriteOptions options = new QRBarcodeWriteOptions(); 
 
   if (topLeft) 
   { 
      options.HorizontalAlignment = BarcodeAlignment.Near; 
      options.VerticalAlignment = BarcodeAlignment.Near; 
   } 
   else 
   { 
      options.HorizontalAlignment = BarcodeAlignment.Far; 
      options.VerticalAlignment = BarcodeAlignment.Far; 
   } 
 
   options.GroupNumber = 0; 
   options.GroupTotal = 0; 
   options.XModule = 30; 
   options.ECCLevel = QRBarcodeECCLevel.LevelL; 
 
   // Write it 
   Console.WriteLine("Writing barcode with symbol model: {0} and Data: {1}", symbolModel, value); 
   writer.WriteBarcode(image, barcode, options); 
} 
 
private void ReadBarcodes(BarcodeReader reader, RasterImage image) 
{ 
   // Setup read options 
   QRBarcodeReadOptions options = new QRBarcodeReadOptions(); 
   options.EnableDoublePass = false; 
   options.EnableDoublePassIfSuccess = true; 
   options.EnablePreprocessing = true; 
 
   Console.WriteLine("Reading QR barcodes"); 
   BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, new BarcodeSymbology[] { BarcodeSymbology.QR }, new BarcodeReadOptions[] { options }); 
   Console.WriteLine("{0} barcodes found:", barcodes.Length); 
   foreach (QRBarcodeData barcode in barcodes) 
   { 
      string value = BarcodeData.ParseECIData(barcode.GetData()); 
      if (string.IsNullOrEmpty(value)) 
         value = barcode.Value; 
 
      Console.WriteLine(" At {0}, symbol model: {1} data: {2} and symbology: {3}", barcode.Bounds, barcode.SymbolModel, value, barcode.Symbology); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

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