typedef struct _tagBARCODEWRITEDM
{
L_UINT uStructSize;
L_UINT32 ulFlags;
L_CHAR cGroupNumber;
L_CHAR cGroupTotal;
L_UCHAR cFileIDLo;
L_UCHAR cFileIDHi;
L_INT nXModule;
} BARCODEWRITEDM, * pBARCODEWRITEDM;
The BARCODEWRITEDM structure contains information used to write ECC 200 Data Matrix symbols.
Size of the BARCODEWRITEDM structure, in bytes, for versioning. Use the sizeof() operator to calculate the value.
Flags used to configure the engine. You can combine values when appropriate, by using a bitwise OR ( | ). Possible values are:
Value | Meaning |
---|---|
BARCODE_JUSTIFY_RIGHT | [0x1000] Justify the Data Matrix symbol to the right side of the bitmap. |
BARCODE_JUSTIFY_H_CENTER | [0x2000] Justify the Data Matrix symbol in the horizontal center of the bitmap. |
BARCODE_JUSTIFY_BOTTOM | [0x4000] Justify the Data Matrix symbol to the bottom side of the bitmap. |
BARCODE_JUSTIFY_V_CENTER | [0x8000] Justify the Data Matrix symbol in the vertical center of the bitmap. |
Specifies a group of Data Matrix symbols. The maximum number of symbols in a group is 16. Use this member to specify the order of each barcode in a group so that you can put the barcodes back in the correct order after they have been split up..
Specifies the total number of Data Matrix symbols in the group specified by the cGroupNumber member. The maximum number of symbols in a group is 16.
Specifies the low byte of the file ID number. The number must range from 1 to 254. Use this as an ID for the group since an image can have multiple groups.
File ID high byte. Specifies the high byte of the file ID number. The number must range from 1 to 254. Use this as an ID for the group since an image can have multiple groups.
The size of the written Data Matrix barcode, specified in 0.001 inch. If the value is too small, a minimum of 5 pixels will be used.
pBARCODEWRITEDM is a pointer to an BARCODEWRITEDM structure. Where the function parameter type is pBARCODEWRITEDM, you can declare a BARCODEWRITEDM variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pBARCODEWRITEDM variable is necessary only if your program requires a pointer.
This structure is used by the LBarCode::Write functions.
Use the cGroupNumber, CGroupTotal, CFileIDLo, cFileIDHi members whenever it is necessary to split up the information that needs to be encoded into different barcodes.
The following table contains information for writing ECC 200 Data Matrix barcodes:
Data Matrix type | Maximum Numeric Length | Maximum Alphanumeric Length | Maximum Binary Length | Maximum Correctable Error / Erasure |
---|---|---|---|---|
10 x 10 | 6 | 3 | 1 | 2 |
12 x 12 | 10 | 6 | 3 | 3 |
14 x 14 | 16 | 10 | 6 | 5/7 |
16 x 16 | 24 | 16 | 10 | 6/9 |
18 x 18 | 36 | 25 | 16 | 7/11 |
20 x 20 | 44 | 31 | 20 | 9/15 |
22 x 22 | 60 | 43 | 28 | 10/17 |
24 x 24 | 72 | 52 | 34 | 12/21 |
26 x 26 | 88 | 64 | 42 | 14/25 |
32 x 32 | 124 | 91 | 60 | 18/33 |
36 x 36 | 172 | 127 | 84 | 21/39 |
40 x 40 | 228 | 169 | 112 | 24/45 |
44 x 44 | 288 | 214 | 142 | 28/53 |
48 x 48 | 348 | 259 | 172 | 34/65 |
52 x 52 | 408 | 304 | 202 | 42/78 |
64 x 64 | 560 | 418 | 278 | 56/106 |
72 x 72 | 736 | 550 | 366 | 72/132 |
80 x 80 | 912 | 682 | 454 | 96/180 |
88 x 88 | 1152 | 862 | 574 | 112/212 |
96 x 96 | 1392 | 1042 | 694 | 136/260 |
104 x 104 | 1632 | 1222 | 814 | 168/318 |
120 x 120 | 2100 | 1573 | 1048 | 204/390 |
132 x 132 | 2608 | 1954 | 1302 | 248/472 |
144 x 144 | 3116 | 2335 | 1556 | 310/590 |
8 x 18 | 10 | 6 | 3 | 3 |
8 x 32 | 20 | 13 | 8 | 5 |
12 x 26 | 32 | 22 | 14 | 7/11 |
12 x 36 | 44 | 31 | 20 | 9/15 |
16 x 36 | 64 | 46 | 30 | 12/21 |
16 x 48 | 98 | 72 | 47 | 14/25 |