←Select platform

DatamatrixBarcodeSymbolSize Enumeration

Summary
Specifies the Datamatrix symbol size.
Syntax
C#
Objective-C
C++/CLI
Java
Python
[SerializableAttribute()] 
public enum DatamatrixBarcodeSymbolSize   
typedef NS_ENUM(NSInteger, LTDatamatrixBarcodeSymbolSize) { 
 LTDatamatrixBarcodeSymbolSizeAutoSize,  
 LTDatamatrixBarcodeSymbolSizeSize10X10,  
 LTDatamatrixBarcodeSymbolSizeSize12X12,  
 LTDatamatrixBarcodeSymbolSizeSize14X14,  
 LTDatamatrixBarcodeSymbolSizeSize16X16,  
 LTDatamatrixBarcodeSymbolSizeSize18X18,  
 LTDatamatrixBarcodeSymbolSizeSize20X20,  
 LTDatamatrixBarcodeSymbolSizeSize22X22,  
 LTDatamatrixBarcodeSymbolSizeSize24X24,  
 LTDatamatrixBarcodeSymbolSizeSize26X26,  
 LTDatamatrixBarcodeSymbolSizeSize32X32,  
 LTDatamatrixBarcodeSymbolSizeSize36X36,  
 LTDatamatrixBarcodeSymbolSizeSize40X40,  
 LTDatamatrixBarcodeSymbolSizeSize44X44,  
 LTDatamatrixBarcodeSymbolSizeSize48X48,  
 LTDatamatrixBarcodeSymbolSizeSize52X52,  
 LTDatamatrixBarcodeSymbolSizeSize64X64,  
 LTDatamatrixBarcodeSymbolSizeSize72X72,  
 LTDatamatrixBarcodeSymbolSizeSize80X80,  
 LTDatamatrixBarcodeSymbolSizeSize88X88,  
 LTDatamatrixBarcodeSymbolSizeSize96X96,  
 LTDatamatrixBarcodeSymbolSizeSize104X104,  
 LTDatamatrixBarcodeSymbolSizeSize120X120,  
 LTDatamatrixBarcodeSymbolSizeSize132X132,  
 LTDatamatrixBarcodeSymbolSizeSize144X144,  
 LTDatamatrixBarcodeSymbolSizeSize8X18,  
 LTDatamatrixBarcodeSymbolSizeSize8X32,  
 LTDatamatrixBarcodeSymbolSizeSize12X26,  
 LTDatamatrixBarcodeSymbolSizeSize12X36,  
 LTDatamatrixBarcodeSymbolSizeSize16X36,  
 LTDatamatrixBarcodeSymbolSizeSize16X48,  
 LTDatamatrixBarcodeSymbolSizeFitToBounds 
}; 
public enum DatamatrixBarcodeSymbolSize 
[SerializableAttribute()] 
public enum class DatamatrixBarcodeSymbolSize   
class DatamatrixBarcodeSymbolSize(Enum): 
   AutoSize = 0 
   Size10X10 = 1 
   Size12X12 = 2 
   Size14X14 = 3 
   Size16X16 = 4 
   Size18X18 = 5 
   Size20X20 = 6 
   Size22X22 = 7 
   Size24X24 = 8 
   Size26X26 = 9 
   Size32X32 = 10 
   Size36X36 = 11 
   Size40X40 = 12 
   Size44X44 = 13 
   Size48X48 = 14 
   Size52X52 = 15 
   Size64X64 = 16 
   Size72X72 = 17 
   Size80X80 = 18 
   Size88X88 = 19 
   Size96X96 = 20 
   Size104X104 = 21 
   Size120X120 = 22 
   Size132X132 = 23 
   Size144X144 = 24 
   Size8X18 = 25 
   Size8X32 = 26 
   Size12X26 = 27 
   Size12X36 = 28 
   Size16X36 = 29 
   Size16X48 = 30 
   FitToBounds = 31 
Members
ValueMemberDescription
0AutoSize

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.

1Size10X10

10 x 10

2Size12X12

12 X 12

3Size14X14

14 X 14

4Size16X16

16 X 16

5Size18X18

18 X 18

6Size20X20

20 X 20

7Size22X22

22 X 22

8Size24X24

24 X 24

9Size26X26

26 X 26

10Size32X32

32 X 32

11Size36X36

36 X 36

12Size40X40

40 X 40

13Size44X44

44 X 44

14Size48X48

48 X 48

15Size52X52

52 X 52

16Size64X64

64 X 64

17Size72X72

72 X 72

18Size80X80

80 X 80

19Size88X88

88 X 88

20Size96X96

96 X 96

21Size104X104

104 X 104

22Size120X120

120 X 120

23Size132X132

132 X 132

24Size144X144

144 X 144

25Size8X18

8 X 18

26Size8X32

8 X 32

27Size12X26

12 X 26

28Size12X36

12 X 36

29Size16X36

16 X 36

30Size16X48

16 X 48

31FitToBounds

Use as much size to fit the data inside BarcodeData.Bounds. This value is valid only when writing a Datamatrix barcode.

Remarks

Used as the type for the DatamatrixBarcodeData.SymbolSize property to specify the Datamatrix barcode symbol size.

Example
C#
Java
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 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 Datamatrix barcodes, a square and a rectangle one 
      WriteBarcode(engine.Writer, image, DatamatrixBarcodeSymbolSize.Size16X36, "Datamatrix1 16x36", false); 
      WriteBarcode(engine.Writer, image, DatamatrixBarcodeSymbolSize.Size132X132, "Datamatrix2 132x132", 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 only square symbols, should only read the first barcode 
         ReadBarcodes(engine.Reader, image, true); 
 
         // Read all symbols, should read both barcodes 
         ReadBarcodes(engine.Reader, image, false); 
      } 
   } 
} 
 
private void WriteBarcode(BarcodeWriter writer, RasterImage image, DatamatrixBarcodeSymbolSize symbolSize, string value, bool topLeft) 
{ 
   // Create the barcode data 
   DatamatrixBarcodeData 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 image 
   barcode.Bounds = new LeadRect(0, 0, image.ImageWidth, image.ImageHeight); 
 
   // Set the write options 
   DatamatrixBarcodeWriteOptions 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 it 
   Console.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 options 
   DatamatrixBarcodeReadOptions 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:\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 datamatrixBarcodeExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   String imageFileName = combine(LEAD_VARS_IMAGES_DIR, "MyDatamatrixBarcodes.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 Datamatrix barcodes, a square and a rectangle one 
   writeBarcode(engine.getWriter(), image, DatamatrixBarcodeSymbolSize.SIZE16X36, "Datamatrix1 16x36", false); 
   writeBarcode(engine.getWriter(), image, DatamatrixBarcodeSymbolSize.SIZE132X132, "Datamatrix2 132x132", true); 
 
   // 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 only square symbols, should only read the first barcode 
   readBarcodes(engine.getReader(), image, true); 
 
   // Read all symbols, should read both barcodes 
   readBarcodes(engine.getReader(), image, false); 
 
   // cleanup 
   image.dispose(); 
   codecs.dispose(); 
} 
 
// Create the barcode data 
private void writeBarcode(BarcodeWriter writer, RasterImage image, DatamatrixBarcodeSymbolSize symbolSize, String value, boolean topLeft) { 
   DatamatrixBarcodeData barcode = (DatamatrixBarcodeData) BarcodeData.createDefaultBarcodeData(BarcodeSymbology.DATAMATRIX); 
   barcode.setSymbolSize(symbolSize); 
   barcode.setValue(value); 
   barcode.setSymbology(BarcodeSymbology.DATAMATRIX); 
 
   // We will use the alignment to position the barcodes, so use all of the image 
   barcode.setBounds(new LeadRect(0, 0, image.getImageWidth(), image.getImageHeight())); 
 
   // Set the write options 
   DatamatrixBarcodeWriteOptions options = new DatamatrixBarcodeWriteOptions(); 
 
   if (topLeft) { 
 
      options.setHorizontalAlignment(BarcodeAlignment.NEAR); 
      options.setVerticalAlignment(BarcodeAlignment.NEAR); 
 
   } else { 
 
      options.setHorizontalAlignment(BarcodeAlignment.FAR); 
      options.setVerticalAlignment(BarcodeAlignment.FAR); 
 
   } 
 
   options.setDisableCompression(false); 
   options.setGroupNumber(0); 
   options.setGroupTotal(0); 
   options.setFileIdNumberLowByte((byte) 1); 
   options.setFileIdNumberHighByte((byte) 1); 
   options.setXModule(30); 
   options.setHRItoGS1(false); 
 
   // Write it 
   System.out.printf("Writing barcode with symbol size: %1s and Data: %2s%n", symbolSize, value); 
   writer.writeBarcode(image, barcode, options); 
} 
 
// Setup read options 
private void readBarcodes(BarcodeReader reader, RasterImage image, boolean squareOnly) { 
   DatamatrixBarcodeReadOptions options = new DatamatrixBarcodeReadOptions(); 
   options.setReadSquareSymbolsOnly(squareOnly); 
   options.setEnableDoublePass(false); 
   options.setEnableDoublePassIfSuccess(false); 
   options.setEnableInvertedSymbols(false); 
   options.setEnableFastMode(true); 
   options.setEnableSmallSymbols(true); 
   options.setEnablePreprocessing(true); 
   options.setGS1toHRI(false); 
 
   System.out.printf("Reading Datamatrix barcodes with ReadSquareSymbolsOnly set to %1s%n", squareOnly); 
   BarcodeData[] barcodes = reader.readBarcodes(image, LeadRect.getEmpty(), 0, 
         new BarcodeSymbology[] { BarcodeSymbology.DATAMATRIX }, new BarcodeReadOptions[] { options }); 
   System.out.printf("%s barcodes found:%n", barcodes.length); 
 
   for (BarcodeData barcode : barcodes) { 
 
      System.out.printf(" At %1s, symbol size: %2s data: %3s and symbology: %4s", barcode.getBounds(), 
            barcode.getData(), barcode.getValue(), barcode.getSymbology()); 
 
   } 
} 
Requirements

Target Platforms

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.