ZXing .Qr Code .Internal .Data Mask Unit
*************************************************************************** Delphi Sample Projects Copyright 1995-2024 Patrick Prémartin under AGPL 3.0 license. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *************************************************************************** Set of projects demonstrating the features of the Delphi development environment, its libraries and its programming language. Some of the projects have been presented at conferences, on training courses or online coding sessions. The programs are up to date with the Community Edition and the commercial version of Delphi or RAD Studio. *************************************************************************** Author(s) : Patrick PREMARTIN Site : https://samples.developpeur-pascal.fr Project site : https://github.com/DeveloppeurPascal/Delphi-samples *************************************************************************** File last update : 2025-02-08T19:46:48.587+01:00 Signature : 4602cea663bc20856cb4e03e6b8284d72911145e ***************************************************************************
Name | Description | |
---|---|---|
![]() | TDataMask | Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8. Implementations of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix, including areas used for finder patterns, timing patterns, etc. These areas should be unused after the point they are unmasked anyway. Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position and j is row position. In fact, as the text says, i is row position and j is column position. |
![]() | TDataMask000 | 000: mask bits for which (x + y) mod 2 == 0 |
![]() | TDataMask001 | 001: mask bits for which x mod 2 == 0 |
![]() | TDataMask010 | 010: mask bits for which y mod 3 == 0 |
![]() | TDataMask011 | 011: mask bits for which (x + y) mod 3 == 0 |
![]() | TDataMask100 | 100: mask bits for which (x/2 + y/3) mod 2 == 0 |
![]() | TDataMask101 | 101: mask bits for which xy mod 2 + xy mod 3 == 0 |
![]() | TDataMask110 | 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0 |
![]() | TDataMask111 | 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0 |