function DetectPageSkew(out Report: TPdfSkewReport): Boolean;
| Report | TPdfSkewReport. SkewAngle را بر حسب درجه (مقدار مثبت یعنی کجی در جهت ساعتگرد)، Confidence از ۰ تا ۱، SampleWidth و SampleHeight بهکاررفته برای تشخیص، پرچم Succeeded و ErrorMessage را دریافت میکند |
| Result | Boolean. وقتی زاویهای اندازهگیری شد True است، منطبق بر Report.Succeeded |
زاویهٔ کجی را با رندر صفحه با وضوح پایین و افکندن پیکسلهای متن روی زوایای چرخش نامزد تشخیص میدهد؛ زاویهای که افکنش آن تیزترین ساختار خطی را بسازد برنده میشود؛ دقت حدود ۰.۱ درجه است
Confidence بازتاب آن است که صفحه چقدر شاهد خط متن ارائه داد؛ صفحهای از متن پیوسته امتیاز بالا و صفحهای با یک خط یا بدون خط امتیاز پایین میگیرد و امتیاز پایین باید بهعنوان «پاسخ قابل اتکا نیست» تلقی شود نه «کجی ندارد»
تشخیص فقط اندازه میگیرد؛ برای راست کردن صفحه، زاویهٔ منفی را وارد یک ماتریس چرخش کنید و با TransformPageContent اعمال کنید، یا وقتی فقط خروجی باید اصلاح شود از طریق RenderPageWithMatrix رندر کنید
var Report: TPdfSkewReport;
if Pdf.DetectPageSkew(Report) and (Report.Confidence > 0.5) then
ShowMessageFmt('Tilted by %.2f degrees', [Report.SkewAngle]);