function DetectPageSkew(out Report: TPdfSkewReport): Boolean;
| Report | TPdfSkewReport. Otrzymuje SkewAngle w stopniach (dodatnia oznacza przechył zgodny z ruchem wskazówek zegara), Confidence od 0 do 1, użyte do detekcji SampleWidth i SampleHeight, flagę Succeeded oraz ErrorMessage |
| Result | Boolean. True, gdy zmierzono kąt, zgodnie z Report.Succeeded |
Wykrywa kąt pochylenia, renderując stronę w niskiej rozdzielczości i rzutując piksele tekstu na kandydujące kąty obrotu; wygrywa kąt, którego rzut daje najostrożniejszą strukturę linii. Dokładność wynosi około 0,1 stopnia
Confidence odzwierciedla, ile dowodów w postaci linii tekstu zaoferowała strona. Strona pełna tekstu ciągłego zdobywa wysoki wynik; strona z jedną linią lub bez żadnej niski, a niski wynik należy traktować jako "brak wiarygodnej odpowiedzi", a nie "brak pochylenia"
Detekcja tylko mierzy. Aby wyprostować stronę, wprowadź zanegowany kąt do macierzy obrotu i zastosuj ją przez TransformPageContent albo renderuj przez RenderPageWithMatrix, gdy poprawiony ma być tylko wynik
var Report: TPdfSkewReport;
if Pdf.DetectPageSkew(Report) and (Report.Confidence > 0.5) then
ShowMessageFmt('Przechylona o %.2f stopnia', [Report.SkewAngle]);