[SerializableAttribute()]public enum DatamatrixBarcodeSymbolSize
| Value | Member | Description |
|---|---|---|
| 0 | AutoSize |
Use the minimum required size based on the data inside the barcode (the data set using BarcodeData.SetData). This value is valid only when writing a Datamatrix barcode. |
| 1 | Size10X10 |
10 x 10 |
| 2 | Size12X12 |
12 X 12 |
| 3 | Size14X14 |
14 X 14 |
| 4 | Size16X16 |
16 X 16 |
| 5 | Size18X18 |
18 X 18 |
| 6 | Size20X20 |
20 X 20 |
| 7 | Size22X22 |
22 X 22 |
| 8 | Size24X24 |
24 X 24 |
| 9 | Size26X26 |
26 X 26 |
| 10 | Size32X32 |
32 X 32 |
| 11 | Size36X36 |
36 X 36 |
| 12 | Size40X40 |
40 X 40 |
| 13 | Size44X44 |
44 X 44 |
| 14 | Size48X48 |
48 X 48 |
| 15 | Size52X52 |
52 X 52 |
| 16 | Size64X64 |
64 X 64 |
| 17 | Size72X72 |
72 X 72 |
| 18 | Size80X80 |
80 X 80 |
| 19 | Size88X88 |
88 X 88 |
| 20 | Size96X96 |
96 X 96 |
| 21 | Size104X104 |
104 X 104 |
| 22 | Size120X120 |
120 X 120 |
| 23 | Size132X132 |
132 X 132 |
| 24 | Size144X144 |
144 X 144 |
| 25 | Size8X18 |
8 X 18 |
| 26 | Size8X32 |
8 X 32 |
| 27 | Size12X26 |
12 X 26 |
| 28 | Size12X36 |
12 X 36 |
| 29 | Size16X36 |
16 X 36 |
| 30 | Size16X48 |
16 X 48 |
| 31 | FitToBounds |
Use as much size to fit the data inside BarcodeData.Bounds. This value is valid only when writing a Datamatrix barcode. |
Used as the type for the DatamatrixBarcodeData.SymbolSize property to specify the Datamatrix barcode symbol size.
using Leadtools;using Leadtools.Codecs;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void DatamatrixBarcode_Example(){string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyDatamatrixBarcodes.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 Datamatrix barcodes, a square and a rectangle oneWriteBarcode(engine.Writer, image, DatamatrixBarcodeSymbolSize.Size16X36, "Datamatrix1 16x36", false);WriteBarcode(engine.Writer, image, DatamatrixBarcodeSymbolSize.Size132X132, "Datamatrix2 132x132", 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 only square symbols, should only read the first barcodeReadBarcodes(engine.Reader, image, true);// Read all symbols, should read both barcodesReadBarcodes(engine.Reader, image, false);}}}private void WriteBarcode(BarcodeWriter writer, RasterImage image, DatamatrixBarcodeSymbolSize symbolSize, string value, bool topLeft){// Create the barcode dataDatamatrixBarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.Datamatrix) as DatamatrixBarcodeData;barcode.SymbolSize = symbolSize;barcode.Value = value;barcode.Symbology= BarcodeSymbology.Datamatrix;// 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 optionsDatamatrixBarcodeWriteOptions options = new DatamatrixBarcodeWriteOptions();if (topLeft){options.HorizontalAlignment = BarcodeAlignment.Near;options.VerticalAlignment = BarcodeAlignment.Near;}else{options.HorizontalAlignment = BarcodeAlignment.Far;options.VerticalAlignment = BarcodeAlignment.Far;}options.DisableCompression = false;options.GroupNumber = 0;options.GroupTotal = 0;options.FileIdNumberLowByte = 1;options.FileIdNumberHighByte = 1;options.XModule = 30;options.HRItoGS1 = false;// Write itConsole.WriteLine("Writing barcode with symbol size: {0} and Data: {1}", symbolSize, value);writer.WriteBarcode(image, barcode, options);}private void ReadBarcodes(BarcodeReader reader, RasterImage image, bool squareOnly){// Setup read optionsDatamatrixBarcodeReadOptions options = new DatamatrixBarcodeReadOptions();options.ReadSquareSymbolsOnly = squareOnly;options.EnableDoublePass = false;options.EnableDoublePassIfSuccess = false;options.EnableInvertedSymbols = false;options.EnableFastMode = true;options.EnableSmallSymbols = true;options.EnablePreprocessing = true;options.GS1toHRI = false;Console.WriteLine("Reading Datamatrix barcodes with ReadSquareSymbolsOnly set to {0}", squareOnly);BarcodeData[] barcodes = reader.ReadBarcodes(image, LeadRect.Empty, 0, new BarcodeSymbology[] { BarcodeSymbology.Datamatrix }, new BarcodeReadOptions[] { options });Console.WriteLine("{0} barcodes found:", barcodes.Length);foreach (DatamatrixBarcodeData barcode in barcodes){Console.WriteLine(" At {0}, symbol size: {1} data: {2} and symbology: {3}", barcode.Bounds, barcode.SymbolSize, barcode.Value, barcode.Symbology);}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}