function DetectPageSkew(out Report: TPdfSkewReport): Boolean;
| Report | TPdfSkewReport. Derece cinsinden SkewAngle değerini (pozitif, saat yönünde eğim demektir), 0 ile 1 arasında Confidence değerini, algılamada kullanılan SampleWidth ve SampleHeight değerlerini, bir Succeeded bayrağını ve bir ErrorMessage alır |
| Result | Boolean. Bir açı ölçüldüğünde True; Report.Succeeded ile eşleşir |
Eğim açısını, sayfayı düşük çözünürlükte işleyip metin piksellerini aday dönüş açılarına projekte ederek algılar; projeksiyonu en keskin çizgi yapısını üreten açı kazanır. Doğruluk yaklaşık 0.1 derecedir
Confidence, sayfanın ne kadar metin satırı kanıtı sunduğunu yansıtır. Akıcı metin dolu bir sayfa yüksek puan alır; tek satırlı veya satırsız bir sayfa düşük puan alır ve düşük puan, "eğim yok" değil, "güvenilir yanıt yok" olarak ele alınmalıdır
Algılama yalnızca ölçer. Sayfayı doğrultmak için açının ters işaretlisini bir döndürme matrisine verip TransformPageContent ile uygulayın veya yalnızca çıktının düzeltilmesi gerektiğinde RenderPageWithMatrix üzerinden işleyin
var Report: TPdfSkewReport;
if Pdf.DetectPageSkew(Report) and (Report.Confidence > 0.5) then
ShowMessageFmt('Tilted by %.2f degrees', [Report.SkewAngle]);