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;

Amostra um quadrilátero de Data Matrix ECC 200 com validação de finder border antes da amostragem dos data modules; a saída bem-sucedida corresponde à regra de maioria de cinco amostras usada por HPDFSampleBarcodeQuadrilateral

Mask contém um byte por pixel do raster, com bytes não nulos representando pixels escuros; Width e Height descrevem esse raster, Rows e Columns descrevem o grid completo de módulos incluindo finder borders, e RegionRows e RegionColumns contam as regiões de dados na vertical e na horizontal

As contagens de regiões precisam ser positivas e dividir suas dimensões de módulos correspondentes; cada região precisa ter pelo menos três módulos de largura e altura, as dimensões de módulos variam de 8 a 144, as dimensões do raster são de no máximo 4096 por 4096, e no máximo 4.194.304 pixels de raster são aceitos

Corners segue a ordem normalizada top-left, top-right, bottom-right, bottom-left do símbolo candidato, incluindo sua orientação e reflexão pretendidas; o sampler checa as bordas sólidas esquerda e inferior e as bordas alternadas superior e direita de cada região

O número permitido de finder modules incorretos é Max(1, BorderModuleCount div 50), correspondendo à checagem existente de finders ECC 200 do decoder; um finder pattern rejeitado ou entrada inválida retorna false com um Grid vazio, e a amostragem bem-sucedida não estabelece um payload decodificado nem codewords Reed–Solomon válidos

StartTick é o valor do GetTickCount do Windows desde o início da operação completa; o deadline existente de 2.000 ms inclui a amostragem de finders e de dados, e o cancelamento propaga como EHPDFOperationCancelled

A função genérica HPDFSampleBarcodeQuadrilateral continua amostrando grids arbitrários de módulos sem impor semântica de finders ECC 200

Scanning de barcodes raster multi-símbolo