THotPDF.DecodeLoadedImageRegionAtResolution Method
يفك ترميز مستطيل بإحداثيات المصدر مع السماح لمفكّك الترميز باختيار مستوى دقة أقل ما دام يلبي حجم الإخراج المطلوب
التصريح
function DecodeLoadedImageRegionAtResolution(
AImageStream: THPDFStreamObject;
RegionLeft, RegionTop, RegionRight, RegionBottom,
TargetPixelWidth, TargetPixelHeight: Integer): TBitmap;
الوحدة
HPDFDoc
المعاملات
| الاسم | الغرض |
|---|---|
AImageStream | stream كائن XObject الصورة المحمّل المراد فك ترميزه |
RegionLeft | إحداثي المصدر الأيسر (شامل) |
RegionTop | إحداثي المصدر العلوي (شامل) |
RegionRight | إحداثي المصدر الأيمن (غير شامل) |
RegionBottom | إحداثي المصدر السفلي (غير شامل) |
TargetPixelWidth | أدنى عرض مفيد بعد فك الترميز قبل مقياس العرض النهائي |
TargetPixelHeight | أدنى ارتفاع مفيد بعد فك الترميز قبل مقياس العرض النهائي |
القيمة المُعادة
يُعيد صورة نقطية مخصَّصة حديثًا للمنطقة غير الفارغة المُقيَّدة (clamped)، أو nil عندما يتعذّر فك ترميز الصورة أو الهندسة المطلوبة
اختيار الدقة
- يختار JPEG 2000 أكبر تخفيض بقوى العدد 2 (power-of-two) بحيث يبقى كل من العرض والارتفاع المفكوك ترميزهما على الأقل بحجم البكسل المطلوب
- لا يقلّل الاختيار أبدًا من دقة أيٍّ من البعدين، ولذلك يتجنب تكبيرًا غير ضروري قبل الرسم
- يدمج اختيار المنطقة الأصلي مع اختيار الدقة قبل إعادة بناء wavelet وتوسيع البكسلات
- يتلقى عمال JPEG 2000 المعزولون عن الأعطال طلب التخفيض نفسه ويستخدمون ميزانية إخراج أصغر بنسبة إليه
- عندما يعالج الحل الاحتياطي الأصلي منطقة تتقاطع مع عدة بلاطات من codestream، تُفكَّك البلاطات المستقلة تزامنيًا في حدود الإلغاء وعدد العمال والإخراج وذروة الذاكرة
- تُركَّب النتائج المتوازية بترتيب صفوف مستقر (row-major)، ويختار نقص ميزانية العمل بشكل شفاف مسار المنطقة التسلسلي
- صورة JPEG في فضاء DeviceRGB أو DeviceGray تمر عبر فاكّ DCT مصغَّر عندما تختلف المنطقة أو الحجم المطلوب عن الصورة الكاملة: يفك الترميز بمقياس DCT مصغَّر ما زال يغطي الطلب ويعيد المنطقة معاد أخذ عيناتها إلى الحجم المطلوب تمامًا
- صيغ الصور المدعومة الأخرى، وصور JPEG في فضاءات لونية أخرى، تحافظ على فك ترميز دقيق للمنطقة وتترك أي تحجيم نهائي للمستدعي
- الصورة النقطية غير الصفرية المعادة ملك للمستدعي وعليه تحريرها
مثال
Preview := PDF.DecodeLoadedImageRegionAtResolution(
ImageStream, 0, 0, SourceWidth, SourceHeight, 320, 200);
try
Canvas.StretchDraw(TargetRect, Preview);
finally
Preview.Free;
end;