Hi, I would like to create a string with TAB, say AAA + TAB + BBB. I tried the following without any success: AAA~009BBB AAA~~009BBB AAA<009>BBB AAA~d009BBB AAA$IBBB AAA($)IBBB AAA\011BBB AAA\tBBB For ~009 the DmtxScheme/s I tried are the following but nothing worked for me: DmtxSchemeX12, DmtxSchemeBase256, DmtxSchemeC40, DmtxSchemeAscii, DmtxSchemeText Thank you.
Further analysis: The original libdmtx library is correct and the code in datamatrix.net is incorrect. The code should check for the 0x80 (visited) bit. The visited flag is set in TrailBlazeContinuous (via MatrixRegionSeekEdge), TrailBlazeGapped (MatrixRegionOrientation), or when successfully decoding a found barcode (MatrixRegion call into CacheFillQuad). It is cleared in TrailBlazeContinuous. If no regions/barcodes are found, this test will never be true as the visited bit is reset by TrailClear....
The RowPadBytes calculation was not correct (either before or after my change above). The below addresses the issue: // For efficiency, the system ensures that the data is packed into rows that begin on a four byte boundary // -- this means they are padded out to a multiple of four bytes. The stride includes the pad bytes. int padBytes = (stride - (dmtxImg.Width * dmtxImg.BytesPerPixel)); // The current RowSizeBytes was calculated off the data bytes and does not include any pad bytes, but it should....
The RowPadBytes calculation was not correct (either before or after my change above). The below addresses the issue: // For efficiency, the system ensures that the data is packed into rows that begin on a four byte boundary // -- this means they are padded out to a multiple of four bytes. The stride includes the pad bytes. int padBytes = (stride - (dataMatrixImg.Width * dataMatrixImg.BytesPerPixel)); // The current RowSizeBytes was calculated off the data bytes and does not include any pad bytes,...
The Image Decoder assumes images are 24 bpp. This is normally fine, as the project test code (DataMatrixTest\Program.cs) creates images with this Pixel Format. (Specifically: The image is provided to DecodeImage(). Testing will typically result in using EncodeImage which calls DmtxImageEncoder's CopyDataToBitmap which creates the image as PixelFormat.Format24bppRgb.) Otherwise, it skews the image each line. Barcodes will be found, as the detection is tolerant of minor skews, but the calculated region...
Sorry about a duplicate (previous) posting in "Support/Issues". I am now thinking that this is a better forum for discussion. The posting in "Support/Issues" should probably be removed. In DmtxDecode, in method RegionScanPixel, at line 691: int cacheIndex = this.DecodeGetCache(loc.X, loc.Y); if (cacheIndex == -1) return null; if (this._cache[cacheIndex] != 0x00) return null; is checking to see if any flag is set. This is inconsistent with the code in GetStrongestNeighbor, at line 789: int cacheIndex...
I am noticing that the current test if (this._cache[cacheIndex] != 0x00) instead of if ((this._cache[cacheIndex] & 0x80) != 0x00) runs 60 times faster. It is so slow using the original libdmtx that it makes me speculative it may be a intentional optimization: any value indicates a "visited" aspect, if not a full "visited", and it is appropriate to skip the grid location without testing it further.
RegionScanPixel appears to have incorrect cacheIndex test
Hey Nebuk, I know this is quite an old post & I am sure you have moved on, but I was able to decode these successfully myself & wanted to show my slightly different code. I believe you may have been missing the .ToArray() when assigning the value to (in my case) the datas() array: If strName = "" Then Dim dm As Bitmap = New Bitmap(InFile) Dim decoder As New DataMatrix.net.DmtxImageDecoder datas = decoder.DecodeImage(dm).ToArray() For Each d As String In datas If d.Trim().Length > 16 Then strName...
Hey Nebuk, I know this is quite an old post & I am sure you have moved on, but I was able to decond these successfully myself & wanted to show my slightly different code. I believe you may have been missing the .ToArray() when assigning the value to (in my case) the datas() array: If strName = "" Then Dim dm As Bitmap = New Bitmap(InFile) Dim decoder As New DataMatrix.net.DmtxImageDecoder datas = decoder.DecodeImage(dm).ToArray() For Each d As String In datas If d.Trim().Length > 16 Then strName...
I am testing in the C#. Using options.Scheme = DmtxScheme.DmtxSchemeAutoFast and options.Scheme = DmtxScheme.DmtxSchemeAutoBest cannot working. the error message "System.NullReferaceException:" 'Object reference not set to an instance of an object' . do you have any ideas? Thanks!
Do you have software that will read Direct Part Marking (DPM) code? They are made up of dots.
If a given text can not be encoded with the given options DmtxImageEncoder.EncodeImage fails with an exception. Is there a way to check if its encodeable without catching that exception? Regards, Jan
Hello Heidi, nice to meet you. Did you find out how to generate a GS1 Datamatrix? If you did, please let me know how. Thank you very muc in advance. Ruben
Hi, is this MIT license issue progressing at the moment? If not, we are not able to use this nice lib in our software...
Make Datamatrix Code using ISO-8859
Yes, it is - I am sorry, I will add the MIT license with the next release. Be careful with iTextSharp though (which is part of the bintools-package). iTextSharp is released under AGPL, which is more restrictive than MIT license.
MIT License?
Hi there, I try to create Datamatrix with german umlaute within ( i.e. ÄäÖöÜüß) How can i do this? Regards Stefan
Bug in "InsertPaddingBytes" function
add specific changes for beck
how do i get DmtxImageEncoderOptions of property name FNC1?
If DataMatrix.net does support GS1 DataMatrix format then please anyone help me. send me dll link also send me some example so i can review and implement that. my string is look like (01)09103910390193019310 after using GS1 when i will scan then output will come without bracket. 0109103910390193019310
I found out, that the Android-App i-nigma makes it right and choses the right encoding. Others, like "Barcode Scanner" don't. It could be a bug in those apps, so I still need to know if datamatrix.net makes it right and sets the ECI-Header.
Hi, I'm not sure about one thing. I don't get the datamatrix barcode with UTF-8 encoded text and special characters to work. The special characters are availiable in UTF-8 but seem to become misinterpreted. I updated to version 0.4.4 but still get the same behaviour. Am I right, that the ECI-Header is not set corresponding to the encoding, when the barcode is created? How can I make sure the barcode reader uses the right encoding to read the data (ISO-8859-1 would be okay too)? Even when I create...
Since SilverLight is more or less dead, I won't fix this...
Support for SilverLight
FIX error parsing colors passed to EncodeDataMa...
FIX error parsing colors passed to EncodeDataMa...
Well, it's probably a little late to help you, but for future reference the following...
There is a problem for Extended ASCII Codes number after 127. Encoding.GetBytes(string)...
Hi Guys, I have spent hours to find out about how to write my first 2 barcode for...
CHG: end support for .net-cf-version
CHG: end support for .net-cf-version
FEATURE: add character encoding to encoder options
FIX: minor fix, improves performance of decoder...
Now he did :). I didn't see the post until now.
I am not a license expert, but my intention is that anyone can use the library at...
Did you get an answer?
The Form for the Code:
Hello, i write a small application for encode and it work wonderfull. But if i want...
Hi, first of all thank you for the great work. But is it possible to create reader...
We have recently developed a tab-delimited datamatrix barcode. When we scan the barcode...
Can you show some sample code in C# of setting the decode symbol size? Thanks, B...
Hi, Very nice library. I want to use it but I need to clarify the licensing position....
It is DecodeSchemeAscii() not DecodeAscii() right? This should only be done when...
FNC1 in GS1 Datamatrix
Note: "]d2" is AIM identifier for gs1 datamatrix (datamatrix startion with FNC1)....