THotPDF.DecodeLoadedImageRegionAtResolution Methode
Decodeert een rechthoek in broncoördinaten terwijl de decoder een lager resolutieniveau mag selecteren dat nog steeds aan de gevraagde uitvoergrootte voldoet
Declaratie
function DecodeLoadedImageRegionAtResolution(
AImageStream: THPDFStreamObject;
RegionLeft, RegionTop, RegionRight, RegionBottom,
TargetPixelWidth, TargetPixelHeight: Integer): TBitmap;
Eenheid
HPDFDoc
Parameters
| Naam | Doel |
|---|---|
AImageStream | Geladen afbeeldings-XObject-stroom om te decoderen |
RegionLeft | Inclusieve linker broncoördinaat |
RegionTop | Inclusieve bovenste broncoördinaat |
RegionRight | Exclusieve rechter broncoördinaat |
RegionBottom | Exclusieve onderste broncoördinaat |
TargetPixelWidth | Minimale bruikbare gedecodeerde breedte vóór de uiteindelijke weergaveschaal |
TargetPixelHeight | Minimale bruikbare gedecodeerde hoogte vóór de uiteindelijke weergaveschaal |
Retourwaarde
Retourneert een nieuw toegewezen bitmap voor de geklemde niet-lege regio, of nil wanneer de afbeelding of de gevraagde geometrie niet kan worden gedecodeerd
Resolutiekeuze
- JPEG 2000 selecteert de grootste macht-van-twee-reductie waarvan zowel de gedecodeerde breedte als hoogte minstens de gevraagde pixelgrootte blijft
- De selectie onder-resolveert geen van beide dimensies en vermijdt daardoor een onnodige upscale vóór het tekenen
- Native regio-selectie en resolutieselectie worden gecombineerd vóór waveletreconstructie en pixelexpansie
- Crash-geïsoleerde JPEG 2000-workers ontvangen hetzelfde reductieverzoek en gebruiken een overeenkomstig kleiner uitvoerbudget
- Wanneer native fallback een regio verwerkt die meerdere codestream-tegels snijdt, decoderen onafhankelijke tegels gelijktijdig binnen annulering-, worker-aantal-, uitvoer- en piekgeheugenlimieten
- Parallelle resultaten worden samengesteld in stabiele rij-major volgorde en onvoldoende werkbudget selecteert transparant het sequentiële regiogedeelte
- Een JPEG-afbeelding in DeviceRGB of DeviceGray gaat door een DCT-decoder voor verminderde grootte wanneer de regio of de gevraagde grootte afwijkt van de volledige afbeelding: die decodeert op een verminderde DCT-schaal die de vraag nog steeds dekt en geeft de regio terug geresampled naar exact de gevraagde grootte
- Andere ondersteunde afbeeldingsformaten, en JPEG-afbeeldingen in andere kleurruimten, behouden exacte regiodecodering en laten eventuele uiteindelijke schaling aan de aanroeper over
- De aanroeper is eigenaar van een niet-nil geretourneerde bitmap en moet deze vrijgeven
Voorbeeld
Preview := PDF.DecodeLoadedImageRegionAtResolution(
ImageStream, 0, 0, SourceWidth, SourceHeight, 320, 200);
try
Canvas.StretchDraw(TargetRect, Preview);
finally
Preview.Free;
end;