|
Soporte del formato de imagen JPEG2000
Visión general
HotPDF ofrece soporte exhaustivo de formatos de imagen JPEG2000, incluidos archivos JP2 y J2K. JPEG2000 es un estándar de compresión de imágenes basado en wavelets que proporciona una eficiencia y calidad de compresión superiores a las del formato JPEG tradicional
Formatos soportados
- JP2: formato JPEG2000 Parte 1 con estructura de archivo completa
- J2K: formato codestream JPEG2000 (datos comprimidos crudos)
Características principales
- Detección automática de formato y procesamiento apropiado
- Soporte de compresión tanto sin pérdida como con pérdida
- Soporte de imágenes multicomponente (RGB, RGBA, escala de grises)
- Soporte avanzado de profundidad de bits (8, 12, 16 bits por componente)
- Decodificación directa validada de mosaicos de codestream con metadatos de cuadrícula de mosaicos
- Decodificación combinada de región fuente y resolución de interés potencia de dos
- Presupuestos de salida decodificada para codestreams hostiles o inesperadamente grandes
- Selección automática de la resolución del renderer a partir de los píxeles del destino visible
- Reconstrucción paralela acotada de tiles que se intersectan e independientes
- Telemetría determinista de composición, cancelación, límite de workers y memoria pico
Ejemplo de uso
// Delphi example - Adding JPEG2000 image to PDF
procedure AddJPEG2000Image;
var
PDF: THotPDF;
begin
PDF := THotPDF.Create(nil);
try
PDF.FileName := 'output.pdf';
PDF.BeginDoc;
PDF.AddPage;
// Add JPEG2000 image - format is automatically detected
PDF.AddImage('sample.jp2', 100, 100, 200, 150);
// J2K codestream format is also supported
PDF.AddImage('sample.j2k', 100, 300, 200, 150);
PDF.EndDoc;
finally
PDF.Free;
end;
end;
Implementación técnica
El soporte JPEG2000 está implementado mediante la unidad HPDFJpeg2000.pas, que proporciona:
- THPDFJpeg2000Decoder: clase decodificadora principal para procesar imágenes JPEG2000
- Format Detection: identificación automática de los formatos JP2, J2K y JPT
- Header Inspection:
InspectHeaderFromByteArray lee dimensiones, componentes y SourceColorSpace sin decodificar muestras de píxeles
- Stream Processing: soporte de carga de imágenes tanto por archivo como por stream
- Acceso a tiles:
LoadTileFromByteArray decodifica un tile validado e informa de su offset de origen y su rejilla
- Selección de resolución:
LoadRegionFromByteArray combina un rectángulo de origen con un factor de reducción wavelet
- Decodificación paralela de tiles:
LoadRegionFromByteArrayParallel usa instancias de decodificador independientes y composición determinista por filas
- PDFs cargados:
DecodeLoadedImageRegionAtResolution selecciona un nivel que no sub-resuelve ninguna de las dos dimensiones objetivo
- Controles de operación:
JPEG2000ParallelTileDecoding y JPEG2000TileWorkerLimit controlan la integración con el renderizador, mientras GetLastJPEG2000ParallelDecodeStats informa de estimaciones de planificación y presupuesto
- Integración OpenJPEG: decodificación enlazada nativa en Win32 y Win64
Ventajas de rendimiento
- Mejores ratios de compresión que el JPEG tradicional
- Sin artefactos de bloque a tasas de compresión altas
- Transmisión y visualización progresivas
- Soporte de codificación de región de interés (ROI)
- Reconstrucción concurrente cuando una región visible cruza tiles independientes del codestream
- Opción de compresión sin pérdida
Compatibilidad
El soporte JPEG2000 está disponible en las versiones de 32 y 64 bits de HotPDF y es compatible con todas las versiones soportadas de Delphi y C++ Builder
Véase también
|