HPDFSampleDataMatrixQuadrilateral
Unit: HPDFDataMatrixGeometry
function HPDFSampleDataMatrixQuadrilateral(const Mask: TBytes;
Width, Height, Rows, Columns, RegionRows, RegionColumns: Integer;
const Corners: THPDFBarcodeQuadrilateral;
CancellationToken: THPDFCancellationToken; StartTick: Cardinal;
out Grid: THPDFBarcodeModuleGrid): Boolean;
Samplar en ECC 200 Data Matrix-fyrling med validering av finder-kanter före sampling av datamoduler; lyckad utdata följer majoritetsregeln med fem sampel som HPDFSampleBarcodeQuadrilateral använder
Mask innehåller en byte per rasterpixel, där byte som inte är noll representerar mörka pixlar; Width och Height beskriver rastret, Rows och Columns beskriver det kompletta modulnätet inklusive finder-kanter, och RegionRows och RegionColumns räknar dataregionerna vertikalt och horisontellt
Regionsantal måste vara positiva och dela motsvarande moduldimensioner; varje region måste vara minst tre moduler bred och hög, moduldimensioner sträcker sig från 8 till 144, rasterdimensioner är högst 4096 gånger 4096, och högst 4 194 304 rasterpixlar accepteras
Corners följer den normaliserade ordningen överst-vänster, överst-höger, nederst-höger, nederst-vänster för kandidatsymbolen, inklusive dess avsedda orientering och spegling; samplaren kontrollerar de solida vänster- och nederkanterna samt de alternerande över- och högerkanterna i varje region
Det tillåtna antalet felaktiga finder-moduler är Max(1, BorderModuleCount div 50), vilket matchar dekoderns befintliga ECC 200-finderkontroll; ett avvisat fintermönster eller ogiltig indata returnerar false med en tom Grid, och lyckad sampling fastställer ingen avkodad payload eller giltiga Reed–Solomon-kodord
StartTick är Windows GetTickCount-värdet från början av hela operationen; den befintliga gränsen på 2 000 ms inkluderar finder- och datasampling, och avbrott fortplantas som EHPDFOperationCancelled
Den generiska funktionen HPDFSampleBarcodeQuadrilateral fortsätter att sampla godtyckliga modulnät utan att lägga ECC 200-findersemantik på dem