function DetectPageSkew(out Report: TPdfSkewReport): Boolean;
| Report | TPdfSkewReport. Riceve SkewAngle in gradi (positivo significa inclinazione in senso orario), Confidence da 0 a 1, la SampleWidth and SampleHeight usata per il rilevamento, un flag Succeeded , e un ErrorMessage. |
| Result | Boolean. True quando è stato misurato un angolo, corrispondente a Report.Succeeded. |
Rileva l'angolo di inclinazione eseguendo il rendering della pagina a bassa risoluzione e proiettando i pixel del testo su angoli di rotazione candidati; vince l'angolo la cui proiezione produce la struttura di righe più netta. La precisione è di circa 0,1 gradi
Confidence riflette quanta evidenza di righe di testo offre la pagina. Una pagina di testo continuo ottiene un punteggio alto; una pagina con una sola riga o nessuna ottiene un punteggio basso, e un punteggio basso va trattato come "nessuna risposta affidabile" anziché "nessuna inclinazione"
Il rilevamento si limita a misurare. Per raddrizzare la pagina, inserisci l'angolo negato in una matrice di rotazione e applicala con TransformPageContent, oppure esegui il rendering attraverso RenderPageWithMatrix quando solo l'output deve essere corretto
var Report: TPdfSkewReport;
if Pdf.DetectPageSkew(Report) and (Report.Confidence 0.5) then
ShowMessageFmt('Tilted by %.2f degrees', [Report.SkewAngle]);