public QRBarcodeECCLevel ECCLevel { get; set; } @property (nonatomic, assign) LTQRBarcodeECCLevel eccLevel; public QRBarcodeECCLevel getECCLevel()public void setECCLevel(QRBarcodeECCLevel value)
public:property QRBarcodeECCLevel ECCLevel {QRBarcodeECCLevel get();void set ( QRBarcodeECCLevel );}
ECCLevel # get and set (QRBarcodeWriteOptions)
An QRBarcodeECCLevel enumeration member that determine the ECC (Error Correction) level to use when writing QR barcodes. Default value is QRBarcodeECCLevel.LevelL.
For more information, refer to QRBarcodeECCLevel.
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 toint resolution = 300;using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))){// Write two QR barcodesWriteBarcode(engine.Writer, image, QRBarcodeSymbolModel.Model1AutoSize, "QR Data 1", false);WriteBarcode(engine.Writer, image, QRBarcodeSymbolModel.Model2Version30, "QR Data 2", true);// Save the imageusing (RasterCodecs codecs = new RasterCodecs()){codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1);}}// Now read the barcodes againusing (RasterCodecs codecs = new RasterCodecs()){using (RasterImage image = codecs.Load(imageFileName)){// Read all the QR barcodesReadBarcodes(engine.Reader, image);}}}private void WriteBarcode(BarcodeWriter writer, RasterImage image, QRBarcodeSymbolModel symbolModel, string value, bool topLeft){// Create the barcode dataQRBarcodeData 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 imagebarcode.Bounds = new LeadRect(0, 0, image.ImageWidth, image.ImageHeight);// Set the write optionsQRBarcodeWriteOptions 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 itConsole.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 optionsQRBarcodeReadOptions 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:\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.*;import leadtools.*;import leadtools.barcode.*;import leadtools.codecs.*;public void qrBarcodeExample() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";String imageFileName = combine(LEAD_VARS_IMAGES_DIR, "QRBarcodes.tif");RasterCodecs codecs = new RasterCodecs();BarcodeEngine engine = new BarcodeEngine();// Create the image to write the barcodes toint resolution = 300;RasterImage image = RasterImage.create((int) (8.5 * resolution), (int) (11.0 * resolution), 1, resolution,RasterColor.fromKnownColor(RasterKnownColor.WHITE));// Write two QR barcodeswriteBarcode(engine.getWriter(), image, QRBarcodeSymbolModel.MODEL1_AUTOSIZE, "QR Data 1", false);writeBarcode(engine.getWriter(), image, QRBarcodeSymbolModel.MODEL2_VERSION30, "QR Data 2", true);// Save the imagecodecs.save(image, imageFileName, RasterImageFormat.CCITT_GROUP4, 1);// Now read the barcodes againimage = codecs.load(imageFileName);// Read all the QR barcodesreadBarcodes(engine.getReader(), image);// Clean upimage.dispose();codecs.dispose();assertTrue("file unsuccessfully saved to " + imageFileName, (new File(imageFileName)).exists());System.out.printf("File saved successfully to %s%n", imageFileName);}// Create the barcode dataprivate void writeBarcode(BarcodeWriter writer, RasterImage image, QRBarcodeSymbolModel symbolModel, String value, boolean topLeft) {QRBarcodeData barcode = (QRBarcodeData) BarcodeData.createDefaultBarcodeData(BarcodeSymbology.QR);barcode.setSymbolModel(symbolModel);barcode.setValue(value);barcode.setSymbology(BarcodeSymbology.QR);// We will use the alignment to position the barcodes, so use all of the imagebarcode.setBounds(new LeadRect(0, 0, image.getImageWidth(), image.getImageHeight()));// Set the write optionsQRBarcodeWriteOptions options = new QRBarcodeWriteOptions();if (topLeft) {options.setHorizontalAlignment(BarcodeAlignment.NEAR);options.setVerticalAlignment(BarcodeAlignment.NEAR);} else {options.setHorizontalAlignment(BarcodeAlignment.FAR);options.setVerticalAlignment(BarcodeAlignment.FAR);}options.setGroupNumber(0);options.setGroupTotal(0);options.setXModule(30);options.setECCLevel(QRBarcodeECCLevel.LEVEL_L);// Write itSystem.out.printf("Writing barcode with symbol model: %1s and Data: %2s %n", symbolModel, value);writer.writeBarcode(image, barcode, options);}// Setup read optionsprivate void readBarcodes(BarcodeReader reader, RasterImage image) {QRBarcodeReadOptions options = new QRBarcodeReadOptions();options.setEnableDoublePass(false);options.setEnableDoublePassIfSuccess(true);options.setEnablePreprocessing(true);System.out.println("Reading QR barcodes");BarcodeData[] barcodes = reader.readBarcodes(image, LeadRect.getEmpty(), 0,new BarcodeSymbology[] { BarcodeSymbology.QR }, new BarcodeReadOptions[] { options });System.out.printf("%s barcodes found: %n", barcodes.length);for (BarcodeData barcode : barcodes) {String value = BarcodeData.parseECIData(barcode.getData());if (value == null)value = barcode.getValue();System.out.printf(" At %1s, symbol model: %2s data: %3s and symbology: %4s %n", barcode.getBounds(),barcode.getData(), value, barcode.getSymbology());}}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
