HPDFScanBarcodeBitmap
Unit: HPDFBarcodeRecognitionScan
function HPDFScanBarcodeBitmap(const Request: THPDFBarcodeDecodeRequest;
const SingleSymbolDecoder: IHPDFBarcodeDecoder;
const Options: THPDFBarcodeScanOptions; out Symbols: THPDFBarcodeScanSymbols;
out Info: THPDFBarcodeScanInfo; out Diagnostic: AnsiString): Boolean;
Findet getrennte Barcode-Kandidaten und dekodiert sie über das vom Aufrufer gelieferte Single-Symbol-Backend; Ausgabekoordinaten und vier Eckpunkte beziehen sich auf die Original-Bitmap
Request-Ergebnis-, Text- und Rohbyte-Limits gelten über alle veröffentlichten Symbole; false liefert ein leeres Symbols-Array mit Diagnose, und EHPDFOperationCancelled wird weitergereicht, ohne Teilergebnisse zu veröffentlichen
Die Bitmap bleibt erhalten; Eingabeabmessungen sind höchstens 4096 mal 4096 mit höchstens 4,194,304 Pixeln, und leere oder kontrastarme Eingaben laufen erfolgreich ohne Symbole durch
Bei Rastern mit langen parallelen Balken versucht der Scanner zuerst das komplette Bild, entfernt verifizierte Symbolabdeckung aus seinen privaten Gruppierungskacheln und probiert grobe Gruppen mit breiteren Quiet Zones vor kleineren Fragmenten; Matrixcodes und andere Grafiken behalten das Region-first-Scannen und probieren größere verbundene Gruppen vor engeren Fragmenten, damit ein komplettes rotiertes Symbol nicht zuerst das Kandidatenbudget aufzehrt
Die ursprüngliche Deadline von 2,000 ms gilt durchgehend; die spätere engere Gruppierung findet getrennte Symbole weiterhin, wenn eine frühere Gruppe sie zusammenfasst, und verifizierte Abdeckung verhindert redundante Fragment-Dekodierungen
Die native QR-Geometrie prüft dieselben exakten Finder-Patterns, bevor das vollständige Kandidatengitter allokiert und abgetastet wird, und vermeidet so redundante Arbeit bei ungültigen Finder-Kombinationen, während akzeptierte Module und Source-Koordinatengrenzen erhalten bleiben