←Select platform

MicroQRBarcodeSymbolModel Enumeration

Summary
Specifies the Micro QR symbol size.
Syntax
C#
Objective-C
C++/CLI
Java
Python
[SerializableAttribute()] 
public enum MicroQRBarcodeSymbolModel   
typedef NS_ENUM(NSInteger, LTMicroQRBarcodeSymbolModel) { 
 LTMicroQRBarcodeSymbolModelAutoSize,  
 LTMicroQRBarcodeSymbolModelMicroQRM1,  
 LTMicroQRBarcodeSymbolModelMicroQRM2L,  
 LTMicroQRBarcodeSymbolModelMicroQRM2M,  
 LTMicroQRBarcodeSymbolModelMicroQRM3L,  
 LTMicroQRBarcodeSymbolModelMicroQRM3M,  
 LTMicroQRBarcodeSymbolModelMicroQRM4L,  
 LTMicroQRBarcodeSymbolModelMicroQRM4M,  
 LTMicroQRBarcodeSymbolModelMicroQRM4Q 
}; 
public enum MicroQRBarcodeSymbolModel 
[SerializableAttribute()] 
public enum class MicroQRBarcodeSymbolModel   
class MicroQRBarcodeSymbolModel(Enum): 
   AutoSize = 0 
   MicroQRM1 = 1 
   MicroQRM2L = 2 
   MicroQRM2M = 3 
   MicroQRM3L = 4 
   MicroQRM3M = 5 
   MicroQRM4L = 6 
   MicroQRM4M = 7 
   MicroQRM4Q = 8 
Members
ValueMemberDescription
0AutoSize

Micro QR Auto size

1MicroQRM1

Micro QR M1

2MicroQRM2L

Micro QR M2 with error correction level L

3MicroQRM2M

Micro QR M2 with error correction level M

4MicroQRM3L

Micro QR M3 with error correction level L

5MicroQRM3M

Micro QR Model 3M with error correction level M

6MicroQRM4L

Micro QR M4 with error correction level L

7MicroQRM4M

Micro QR M4 with error correction level M

8MicroQRM4Q

Micro QR M4 with error correction level Q

Remarks

Used as the type for the MicroQRBarcodeWriteOptions.SymbolModel property to specify the MicroQR barcode's symbol size.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
 
 
public void MicroQRBarcode_Example() 
{ 
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyMicroQRBarcodes.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 MicroQR barcodes 
      WriteBarcode(engine.Writer, image, MicroQRBarcodeSymbolModel.AutoSize, "MicroQR Data 1", 0); 
      WriteBarcode(engine.Writer, image, MicroQRBarcodeSymbolModel.MicroQRM4M, "Data", 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 MicroQR barcodes 
         ReadBarcodes(engine.Reader, image); 
      } 
   } 
} 
 
private void WriteBarcode(BarcodeWriter writer, RasterImage image, MicroQRBarcodeSymbolModel symbolModel, string value, int startRow) 
{ 
   // Create the barcode data 
   MicroQRBarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.MicroQR) as MicroQRBarcodeData; 
   barcode.Value = value; 
   barcode.Symbology = BarcodeSymbology.MicroQR; 
 
   // 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 
   MicroQRBarcodeWriteOptions options = new MicroQRBarcodeWriteOptions(); 
 
   options.XModule = 30; 
   options.SymbolModel = symbolModel; 
 
   // 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 
   MicroQRBarcodeReadOptions options = new MicroQRBarcodeReadOptions(); 
 
   Console.WriteLine("Reading MicroQR barcodes"); 
   BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, new BarcodeSymbology[] { BarcodeSymbology.MicroQR }, new BarcodeReadOptions[] { options }); 
   Console.WriteLine("{0} barcodes found:", barcodes.Length); 
   foreach (MicroQRBarcodeData barcode in barcodes) 
   { 
      Console.WriteLine(" At {0}, and data: {1} and symbology: {2}", barcode.Bounds, barcode.Value, barcode.Symbology); 
   } 
} 
 
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.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 microQRBarcodeExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   String imageFileName = combine(LEAD_VARS_IMAGES_DIR, "MicroQRBarcode.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 MicroQR barcodes 
   writeBarcode(engine.getWriter(), image, MicroQRBarcodeSymbolModel.AUTO_SIZE, "MicroQR Data 1", 0); 
   writeBarcode(engine.getWriter(), image, MicroQRBarcodeSymbolModel.MICRO_QRM4M, "Data", 1000); 
 
   // Save the image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.save(image, imageFileName, RasterImageFormat.CCITT_GROUP4, 1); 
 
   // Now read the barcodes again 
   image = codecs.load(imageFileName); 
 
   // Read all the MicroQR barcodes 
   readBarcodes(engine.getReader(), image); 
   assertTrue("Barcodes unsuccessfullly read", true); 
} 
 
// Create the barcode data 
private void writeBarcode(BarcodeWriter writer, RasterImage image, MicroQRBarcodeSymbolModel symbolModel, String value, int startRow) { 
   MicroQRBarcodeData barcode = (MicroQRBarcodeData) BarcodeData.createDefaultBarcodeData(BarcodeSymbology.MICRO_QR); 
   barcode.setValue(value); 
   barcode.setSymbology(BarcodeSymbology.MICRO_QR); 
 
   // 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 
   MicroQRBarcodeWriteOptions options = new MicroQRBarcodeWriteOptions(); 
 
   options.setXModule(30); 
   options.setSymbolModel(symbolModel); 
 
   // Write it 
   System.out.printf("Writing barcode with symbol model: %1s and Data: %2s%n", symbolModel, value); 
   writer.writeBarcode(image, barcode, options); 
} 
 
// Setup read options 
private void readBarcodes(BarcodeReader reader, RasterImage image) { 
   MicroQRBarcodeReadOptions options = new MicroQRBarcodeReadOptions(); 
   System.out.println("Reading MicroQR barcodes"); 
 
   BarcodeData[] barcodes = reader.readBarcodes(image, LeadRect.getEmpty(), 0, 
         new BarcodeSymbology[] { BarcodeSymbology.MICRO_QR }, new BarcodeReadOptions[] { options }); 
   System.out.printf("%1s barcodes found:%n", barcodes.length); 
 
   for (int i = 0; i < barcodes.length; i++) { 
      System.out.printf(" At %1s " + (i == 3 ? "," : "") + "and data: %2s and symbology: %3s%n", 
            barcodes[i].getBounds(), 
            barcodes[i].getValue(), 
            barcodes[i].getSymbology()); 
   } 
} 
 
public static String combine(String path1, String path2) { 
   File file = new File(path1, path2); 
   return file.getPath(); 
} 
Requirements

Target Platforms

See Also

Reference

Leadtools.Barcode Namespace

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.