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 códigos de barras separados y los decodifica a través del backend de símbolo único suministrado por el llamador; las coordenadas de salida y las cuatro esquinas se refieren al bitmap original
Los límites de resultado, texto y bytes crudos del request aplican a todos los símbolos publicados; false devuelve un arreglo Symbols vacío con un diagnóstico, y EHPDFOperationCancelled se propaga sin publicar resultados parciales
El bitmap se preserva; las dimensiones de entrada son de a lo sumo 4096 por 4096 con a lo sumo 4,194,304 píxeles, y una entrada en blanco o de bajo contraste tiene éxito sin símbolos
Para rasters con barras paralelas largas, el scanner prueba primero la imagen completa, quita la cobertura verificada de símbolos de sus tiles privados de agrupamiento, y prueba grupos gruesos con quiet zones más anchas antes que fragmentos más chicos; los matrix codes y otros artworks conservan el escaneo de región primero, probando grupos conexos más grandes antes que fragmentos más ajustados para que un símbolo rotado completo no agote primero la cuota de candidatos
El deadline original de 2,000 ms aplica durante todo el proceso; el agrupamiento más ajustado posterior todavía encuentra símbolos separados cuando un grupo anterior los combinó, y la cobertura verificada evita decodificaciones redundantes de fragmentos
La geometría QR nativa verifica los mismos finder patterns exactos antes de asignar y muestrear la grilla completa de candidatos, evitando trabajo redundante para combinaciones de finders inválidas sin dejar de preservar los módulos aceptados y los bounds de coordenadas de la fuente