Método THotPDF.DecodeLoadedImageRegionAtResolution
Decodifica un rectángulo de coordenadas de origen mientras permite que el decodificador seleccione un nivel de resolución inferior que siga satisfaciendo el tamaño de salida solicitado
Declaración
function DecodeLoadedImageRegionAtResolution(
AImageStream: THPDFStreamObject;
RegionLeft, RegionTop, RegionRight, RegionBottom,
TargetPixelWidth, TargetPixelHeight: Integer): TBitmap;
Unidad
HPDFDoc
Parámetros
| Nombre | Propósito |
|---|---|
AImageStream | Flujo XObject de imagen cargada que se va a decodificar |
RegionLeft | Coordenada de origen izquierda inclusiva |
RegionTop | Coordenada de origen superior inclusiva |
RegionRight | Coordenada de origen derecha exclusiva |
RegionBottom | Coordenada de origen inferior exclusiva |
TargetPixelWidth | Ancho decodificado útil mínimo antes de la escala de renderizado final |
TargetPixelHeight | Alto decodificado útil mínimo antes de la escala de renderizado final |
Valor devuelto
Devuelve un mapa de bits recién asignado para la región no vacía limitada, o nil cuando la imagen o la geometría solicitada no se pueden decodificar
Selección de resolución
- JPEG 2000 selecciona la mayor reducción de potencia de dos cuyo ancho y alto decodificados permanezcan ambos al menos en el tamaño de píxel solicitado
- La selección nunca subresuelve ninguna de las dos dimensiones y, por tanto, evita una ampliación innecesaria antes del dibujo
- La selección nativa de región y la selección de resolución se combinan antes de la reconstrucción wavelet y la expansión de píxeles
- Los trabajadores JPEG 2000 aislados contra fallos reciben la misma solicitud de reducción y usan un presupuesto de salida correspondientemente menor
- Cuando la alternativa nativa gestiona una región que interseca varios mosaicos del flujo de códigos, los mosaicos independientes se decodifican de forma concurrente dentro de los límites de cancelación, número de trabajadores, salida y memoria máxima
- Los resultados paralelos se componen en un orden estable por filas y un presupuesto de trabajo insuficiente selecciona de forma transparente la vía de región secuencial
- Una imagen JPEG en DeviceRGB o DeviceGray pasa por un decodificador DCT de tamaño reducido cuando la región o el tamaño solicitado difieren de la imagen completa: decodifica a una escala DCT reducida que aun así cubre la petición y devuelve la región remuestreada exactamente al tamaño solicitado
- Los demás formatos de imagen admitidos, y las imágenes JPEG en otros espacios de color, conservan la decodificación exacta de la región y dejan cualquier escala final al llamador
- El llamador es el propietario de un mapa de bits devuelto no nulo y debe liberarlo
Ejemplo
Preview := PDF.DecodeLoadedImageRegionAtResolution(
ImageStream, 0, 0, SourceWidth, SourceHeight, 320, 200);
try
Canvas.StretchDraw(TargetRect, Preview);
finally
Preview.Free;
end;