[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
Value | Member | Description |
---|---|---|
0 | AutoSize |
Micro QR Auto size |
1 | MicroQRM1 |
Micro QR M1 |
2 | MicroQRM2L |
Micro QR M2 with error correction level L |
3 | MicroQRM2M |
Micro QR M2 with error correction level M |
4 | MicroQRM3L |
Micro QR M3 with error correction level L |
5 | MicroQRM3M |
Micro QR Model 3M with error correction level M |
6 | MicroQRM4L |
Micro QR M4 with error correction level L |
7 | MicroQRM4M |
Micro QR M4 with error correction level M |
8 | MicroQRM4Q |
Micro QR M4 with error correction level Q |
Used as the type for the MicroQRBarcodeWriteOptions.SymbolModel property to specify the MicroQR barcode's symbol size.
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();
}
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