HPDFSampleDataMatrixQuadrilateral

单元: HPDFDataMatrixGeometry

function HPDFSampleDataMatrixQuadrilateral(const Mask: TBytes;
  Width, Height, Rows, Columns, RegionRows, RegionColumns: Integer;
  const Corners: THPDFBarcodeQuadrilateral;
  CancellationToken: THPDFCancellationToken; StartTick: Cardinal;
  out Grid: THPDFBarcodeModuleGrid): Boolean;

对 ECC 200 Data Matrix 四边形采样,先验证 finder 边框再采数据模块;成功输出与 HPDFSampleBarcodeQuadrilateral 使用的五采样多数规则一致

Mask 每个光栅像素一个字节,非零字节表示暗像素;Width 和 Height 描述该光栅,Rows 和 Columns 描述含 finder 边框的完整模块网格,RegionRows 和 RegionColumns 按纵向和横向统计数据区数量

数据区数量必须为正且能整除对应方向的模块数;每个数据区宽高至少 3 个模块,模块数范围 8 到 144,光栅尺寸最大 4096 乘 4096,最多接受 4,194,304 个光栅像素

Corners 按候选符号规范化的左上、右上、右下、左下顺序给出,包含其预期方向和镜像;采样器检查每个数据区的实线左、下边框和交替的上、右边框

允许的错误 finder 模块数为 Max(1, BorderModuleCount div 50),与解码器既有的 ECC 200 finder 检查一致;finder 图案被拒或输入非法时返回 false 且 Grid 为空,采样成功也不代表已解码出载荷或合法 Reed–Solomon 码字

StartTick 是完整操作开始时的 Windows GetTickCount 值;既有的 2000 ms 截止期限涵盖 finder 与数据采样,取消以 EHPDFOperationCancelled 传播

通用的 HPDFSampleBarcodeQuadrilateral 函数继续采样任意模块网格,不强加 ECC 200 finder 语义

多符号光栅条码扫描