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;

Samplet een ECC 200 Data Matrix-quadrilateral met finder-border-validatie vóór data-module-sampling; geslaagde uitvoer matcht de five-sample majority rule die HPDFSampleBarcodeQuadrilateral gebruikt

Mask bevat één byte per rasterpixel, waarbij niet-nul-bytes donkere pixels vertegenwoordigen; Width en Height beschrijven dat raster, Rows en Columns beschrijven het complete modulegrid inclusief finder-randen, en RegionRows en RegionColumns tellen de dataregio's verticaal en horizontaal

Region-aantallen moeten positief zijn en hun bijbehorende module-dimensies delen; elke regio moet ten minste drie modules breed en hoog zijn, module-dimensies lopen van 8 tot en met 144, raster-dimensies zijn hoogstens 4096 bij 4096, en hoogstens 4.194.304 rasterpixels worden geaccepteerd

Corners volgen de genormaliseerde top-left-, top-right-, bottom-right-, bottom-left-volgorde van het candidate-symbool, inclusief diens beoogde oriëntatie en spiegeling; de sampler checkt de dichte linker- en onderranden en de afwisselende boven- en rechterranden van elke regio

Het toegestane aantal foutieve finder-modules is Max(1, BorderModuleCount div 50), matchend met de bestaande ECC 200 finder-check van de decoder; een geweigerd finder-patroon of ongeldige invoer geeft false terug met een lege Grid, en geslaagde sampling bewijst geen gedecodeerde payload of geldige Reed–Solomon-codewoorden

StartTick is de Windows GetTickCount-waarde vanaf het begin van de complete operatie; de bestaande deadline van 2.000 ms omvat finder- en data-sampling, en annulering propageert als EHPDFOperationCancelled

De generieke HPDFSampleBarcodeQuadrilateral-functie blijft willekeurige modulegrids samplen zonder ECC 200 finder-semantics op te leggen

Multi-symbol raster barcode scanning