HPDFScanBarcodeBitmap
Unit: HPDFBarcodeRecognitionScan
function HPDFScanBarcodeBitmap(const Request: THPDFBarcodeDecodeRequest;
const SingleSymbolDecoder: IHPDFBarcodeDecoder;
const Options: THPDFBarcodeScanOptions; out Symbols: THPDFBarcodeScanSymbols;
out Info: THPDFBarcodeScanInfo; out Diagnostic: AnsiString): Boolean;
Localiza candidatos de barcodes separados e os decodifica pelo backend de símbolo único fornecido pelo chamador; as coordenadas de saída e os quatro cantos referem-se ao bitmap original
Os limites de resultado, texto e bytes raw do Request se aplicam a todos os símbolos publicados; false retorna um array Symbols vazio com um diagnóstico, e EHPDFOperationCancelled propaga sem publicar resultados parciais
O bitmap é preservado; as dimensões de entrada são de no máximo 4096 por 4096, com no máximo 4.194.304 pixels, e entrada em branco ou de baixo contraste tem sucesso sem símbolos
Para rasters com barras paralelas longas, o scanner tenta a imagem completa primeiro, remove do seus tiles privados de agrupamento a cobertura de símbolos verificada, e tenta grupos coarse com quiet zones mais largas antes de fragmentos menores; matrix codes e outras artes retêm o scanning região-primeiro, tentando grupos conectados maiores antes de fragmentos mais justos, para que um símbolo rotacionado completo não esgote primeiro a cota de candidatos
O deadline original de 2.000 ms se aplica durante todo o processo; um agrupamento mais justo posterior ainda encontra símbolos separados quando um grupo anterior os combina, e a cobertura verificada evita decodes redundantes de fragmentos
A geometria nativa de QR checa os mesmos finder patterns exatos antes de alocar e amostrar o grid completo de candidatos, evitando trabalho redundante para combinações inválidas de finders, preservando os modules aceitos e os limites de coordenadas da origem