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;

Próbuje czworokąta Data Matrix ECC 200 z walidacją ramki finder przed próbkowaniem modułów danych; udane wyjście zgadza się z regułą większości pięciu próbek używaną przez HPDFSampleBarcodeQuadrilateral

Mask zawiera jeden bajt na piksel rastra, przy czym niezerowe bajty reprezentują piksele ciemne; Width i Height opisują ten raster, Rows i Columns opisują kompletną siatkę modułów łącznie z ramkami finder, a RegionRows i RegionColumns liczą regiony danych pionowo i poziomo

Liczby regionów muszą być dodatnie i dzielić odpowiadające wymiary modułów; każdy region musi mieć co najmniej trzy moduły szerokości i wysokości, wymiary modułów mieszczą się od 8 do 144, wymiary rastra to co najwyżej 4096 na 4096, a co najwyżej 4194304 pikseli rastra jest akceptowanych

Corners podążają za znormalizowaną kolejnością lewy-górny, prawy-górny, prawy-dolny, lewy-dolny kandydata symbolu, łącznie z zamierzoną orientacją i odbiciem; próbnik sprawdza pełne lewe i dolne ramki oraz naprzemienne górne i prawe ramki każdego regionu

Dozwolona liczba niepoprawnych modułów finder to Max(1, BorderModuleCount div 50), zgodna z istniejącym sprawdzeniem finder ECC 200 dekodera; odrzucony wzór finder albo niepoprawne wejście zwraca false z pustym Grid, a udane próbkowanie nie ustanawia zdekodowanego ładunku ani poprawnych słów kodowych Reed–Solomon

StartTick to wartość Windows GetTickCount z początku kompletnej operacji; istniejący deadline 2000 ms obejmuje próbkowanie finder i danych, a anulowanie propaguje się jako EHPDFOperationCancelled

Generyczna funkcja HPDFSampleBarcodeQuadrilateral nadal próbuje dowolnych siatek modułów bez narzucania semantyki finder ECC 200

Multi-symbol raster barcode scanning