THotPDF.DecodeLoadedImageRegionAtResolution Method
Dekóduje obdĺžnik so zdrojovými súradnicami a zároveň umožňuje dekodéru vybrať nižšiu úroveň rozlíšenia, ktorá stále spĺňa požadovanú veľkosť výstupu
Deklarácia
function DecodeLoadedImageRegionAtResolution(
AImageStream: THPDFStreamObject;
RegionLeft, RegionTop, RegionRight, RegionBottom,
TargetPixelWidth, TargetPixelHeight: Integer): TBitmap;
Jednotka
HPDFDoc
Parametre
| Názov | Účel |
|---|---|
AImageStream | Tok XObject načítaného obrázka na dekódovanie |
RegionLeft | Zahrňujúca ľavá zdrojová súradnica |
RegionTop | Zahrňujúca horná zdrojová súradnica |
RegionRight | Vylučujúca pravá zdrojová súradnica |
RegionBottom | Vylučujúca dolná zdrojová súradnica |
TargetPixelWidth | Minimálna užitočná dekódovaná šírka pred konečnou mierkou vykresľovania |
TargetPixelHeight | Minimálna užitočná dekódovaná výška pred konečnou mierkou vykresľovania |
Návratová hodnota
Vráti novo alokovanú bitmapu pre orezanú neprázdnu oblasť alebo nil, keď sa obrázok alebo požadovaná geometria nedá dekódovať
Výber rozlíšenia
- JPEG 2000 vyberie najväčšie zníženie na mocninu dvoch, pri ktorom dekódovaná šírka aj výška zostanú aspoň na požadovanej veľkosti pixelov
- Výber nikdy nepodhodnotí žiadny rozmer, a preto sa vyhne zbytočnému zväčšeniu pred kreslením
- Natívny výber oblasti a výber rozlíšenia sa kombinujú pred waveletovou rekonštrukciou a rozšírením pixelov
- Pracovníci JPEG 2000 izolovaní proti zlyhaniu dostanú rovnakú požiadavku na zníženie a použijú zodpovedajúco menší výstupný rozpočet
- Keď natívny záložný postup spracúva oblasť, ktorá pretína viacero dlaždíc kodstreamu, nezávislé dlaždice sa dekódujú súbežne v rámci limitov zrušenia, počtu pracovníkov, výstupu a špičkovej pamäte
- Paralelné výsledky sa skladajú v stabilnom poradí po riadkoch a nedostatočný pracovný rozpočet transparentne vyberie sekvenčnú cestu oblasti
- Obrázok JPEG v DeviceRGB alebo DeviceGray prechádza zmenšeným DCT dekodérom, keď sa oblasť alebo požadovaná veľkosť líši od celého obrázku: dekóduje sa na zmenšenej DCT škále, ktorá požiadavku stále pokrýva, a vráti oblasť presampovanú na presne požadovanú veľkosť
- Ostatné podporované formáty obrázkov a JPEG obrázky v iných farebných priestoroch zachovávajú presné dekódovanie oblasti a konečné škálovanie nechávajú na volajúcom
- Volajúci vlastní vrátenú nenulovú bitmapu a musí ju uvoľniť
Príklad
Preview := PDF.DecodeLoadedImageRegionAtResolution(
ImageStream, 0, 0, SourceWidth, SourceHeight, 320, 200);
try
Canvas.StretchDraw(TargetRect, Preview);
finally
Preview.Free;
end;