THotPDF.DecodeLoadedImageRegionAtResolution Method
Kaynak koordinatlı bir dikdörtgeni, decoder'ın istenen çıktı boyutunu hâlâ karşılayabilecek daha düşük bir çözünürlük seviyesi seçmesine izin vererek çözer
Bildirim
function DecodeLoadedImageRegionAtResolution(
AImageStream: THPDFStreamObject;
RegionLeft, RegionTop, RegionRight, RegionBottom,
TargetPixelWidth, TargetPixelHeight: Integer): TBitmap;
Birim
HPDFDoc
Parametreler
| Ad | Amaç |
|---|---|
AImageStream | Çözülecek yüklenmiş görsel XObject stream'i |
RegionLeft | Dahil olan sol kaynak koordinatı |
RegionTop | Dahil olan üst kaynak koordinatı |
RegionRight | Hariç olan sağ kaynak koordinatı |
RegionBottom | Hariç olan alt kaynak koordinatı |
TargetPixelWidth | Son render ölçeğinden önceki, işe yarar en düşük çözülmüş genişlik |
TargetPixelHeight | Son render ölçeğinden önceki, işe yarar en düşük çözülmüş yükseklik |
Dönüş değeri
Sınırlandırılmış (clamp edilmiş) boş olmayan bölge için yeni ayrılmış bir bitmap döndürür; görüntü veya istenen geometri çözülemiyorsa nil döndürür
Çözünürlük seçimi
- JPEG 2000, çözülmüş genişlik ve yüksekliğin her ikisi de istenen piksel boyutunun altına düşmeyecek en büyük ikinin kuvveti indirgemeyi seçer
- Bu seçim hiçbir boyutu gereğinden düşük çözümlemez; böylece çizimden önce gereksiz bir upscale'den kaçınılır
- Yerel bölge seçimi ile çözünürlük seçimi, wavelet reconstruction ve piksel genişletmesinden önce birleştirilir
- Çökme izoleli JPEG 2000 worker'ları aynı indirgeme isteğini alır ve buna uygun olarak daha küçük bir çıktı bütçesi kullanır
- Yerel fallback, birden çok codestream tile'ı ile kesişen bir bölgeyi işlerken bağımsız tile'lar; iptal, worker sayısı, çıktı ve tepe bellek limitleri içinde eşzamanlı çözülür
- Paralel sonuçlar kararlı satır öncelikli sırada birleştirilir; yetersiz çalışma bütçesi ise şeffaf biçimde sıralı bölge yolunu seçer
- DeviceRGB veya DeviceGray uzayındaki bir JPEG görsel, bölge veya istenen boyut tüm görselden farklı olduğunda küçültülmüş boyutlu DCT çözücüsünden geçer: isteği hâlâ karşılayan küçültülmüş bir DCT ölçeğinde çözer ve bölgeyi tam olarak istenen boyuta yeniden örnekleyerek döndürür
- Desteklenen diğer görsel formatları ve diğer color space'lerdeki JPEG görselleri tam bölge çözmeyi korur ve son ölçeklemeyi çağırana bırakır
- Çağıran, nil olmayan döndürülen bitmap'in sahibidir ve onu serbest bırakmak zorundadır
Örnek
Preview := PDF.DecodeLoadedImageRegionAtResolution(
ImageStream, 0, 0, SourceWidth, SourceHeight, 320, 200);
try
Canvas.StretchDraw(TargetRect, Preview);
finally
Preview.Free;
end;