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 с валидацией рамки поиска перед сэмплированием модулей данных; успешный вывод совпадает с правилом большинства из пяти образцов, используемым HPDFSampleBarcodeQuadrilateral
Mask содержит один байт на пиксель растра, ненулевые байты обозначают тёмные пиксели; Width и Height описывают этот растр, Rows и Columns — полную сетку модулей с рамками поиска, а RegionRows и RegionColumns считают области данных по вертикали и горизонтали
Числа областей должны быть положительными и делить соответствующие размеры модулей; каждая область должна быть не менее трёх модулей в ширину и высоту, размеры модулей от 8 до 144, размеры растра не более 4096 на 4096, и принимается не более 4 194 304 пикселей растра
Corners следуют нормализованному порядку «верхний левый, верхний правый, нижний правый, нижний левый» для символа-кандидата, включая задуманную ориентацию и отражение; сэмплер проверяет сплошные левую и нижнюю рамки и чередующиеся верхнюю и правую рамки каждой области
Допустимое число неверных модулей поиска равно Max(1, BorderModuleCount div 50), совпадая с существующей проверкой поиска ECC 200 в декодере; отклонённый шаблон поиска или некорректный ввод возвращает false с пустым Grid, а успешное сэмплирование не устанавливает декодированную полезную нагрузку или корректные кодовые слова Рида — Соломона
StartTick — значение Windows GetTickCount с начала полной операции; существующий дедлайн 2 000 мс включает сэмплирование поиска и данных, а отмена распространяется как EHPDFOperationCancelled
Универсальная функция HPDFSampleBarcodeQuadrilateral продолжает сэмплировать произвольные сетки модулей, не навязывая семантику поиска ECC 200