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;

Sampelt ein ECC-200-Data-Matrix-Quadrilateral mit Finder-Border-Validierung, bevor Datenmodule gesampelt werden; erfolgreiche Ausgabe entspricht der Fünf-Sample-Mehrheitsregel von HPDFSampleBarcodeQuadrilateral

Mask enthält ein Byte pro Rasterpixel, wobei nonzero-Bytes dunkle Pixel darstellen; Width und Height beschreiben jenes Raster, Rows und Columns beschreiben das vollständige Modulraster einschließlich Finder-Borders, und RegionRows und RegionColumns zählen die Datenregionen vertikal und horizontal

Region-Anzahlen müssen positiv sein und ihre entsprechenden Moduldimensionen teilen; jede Region muss mindestens drei Module breit und hoch sein, Moduldimensionen reichen von 8 bis 144, Rasterdimensionen sind höchstens 4096 mal 4096, und höchstens 4.194.304 Rasterpixel werden akzeptiert

Corners folgt der normalisierten top-left-, top-right-, bottom-right-, bottom-left-Reihenfolge des Kandidatensymbols, einschließlich seiner beabsichtigten Orientierung und Spiegelung; der Sampler prüft die soliden linken und unteren Borders sowie die alternierenden oberen und rechten Borders jeder Region

Die zulässige Anzahl falscher Finder-Module ist Max(1, BorderModuleCount div 50), passend zur bestehenden ECC-200-Finder-Prüfung des Decoders; ein zurückgewiesenes Finder-Muster oder ungültiger Input liefert false mit leerem Grid, und erfolgreiches Sampling etabliert weder eine dekodierte Payload noch gültige Reed–Solomon-Codewörter

StartTick ist der Windows-GetTickCount-Wert vom Beginn der vollständigen Operation; die bestehende 2000-ms-Deadline umfasst Finder- und Daten-Sampling, und Abbruch propagiert als EHPDFOperationCancelled

Die generische Funktion HPDFSampleBarcodeQuadrilateral sampelt weiterhin beliebige Modulraster, ohne ECC-200-Finder-Semantik aufzuerlegen

Multi-symbol raster barcode scanning