QRBarcodeECCLevel Enumeration (original) (raw)

Summary

Specifies the QR symbol ECC level.

Syntax

C#

Objective-C

C++/CLI

Java

Python

[SerializableAttribute()] public enum QRBarcodeECCLevel

typedef NS_ENUM(NSInteger, LTQRBarcodeECCLevel) { LTQRBarcodeECCLevelLevelL, LTQRBarcodeECCLevelLevelM, LTQRBarcodeECCLevelLevelQ, LTQRBarcodeECCLevelLevelH };

public enum QRBarcodeECCLevel 

[SerializableAttribute()] public enum class QRBarcodeECCLevel

class QRBarcodeECCLevel(Enum): LevelL = 0 LevelM = 1 LevelQ = 2 LevelH = 3

Members

Value Member Description
0 LevelL QR Level L - Lowest reliability
1 LevelM QR Level M - Standard reliability
2 LevelQ QR Level Q - High reliability
3 LevelH QR Level H - Maximum reliability

Example

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"; }