Supporto JPEG2000 Supporto JPEG2000 Supporto JPEG2000 Supporto JPEG2000 Supporto JPEG2000 Supporto JPEG2000 Supporto JPEG2000

Supporto formato immagine JPEG2000

Panoramica

HotPDF fornisce supporto completo ai formati immagine JPEG2000, inclusi i file JP2 e J2K. JPEG2000 è uno standard di compressione immagini basato su wavelet che offre efficienza di compressione e qualità superiori rispetto al formato JPEG tradizionale

Formati supportati

  • JP2: Formato JPEG2000 Part 1 con struttura file completa
  • J2K: JPEG2000 codestream format (raw compressed data)

Caratteristiche principali

  • Rilevamento automatico del formato ed elaborazione adeguata
  • Supporto sia della compressione senza perdita sia con perdita
  • Multi-component image support (RGB, RGBA, Grayscale)
  • Advanced bit-depth support (8, 12, 16 bits per component)
  • Decodifica diretta validata di tile del codestream con metadati della griglia di tile
  • Decodifica combinata per regione sorgente e risoluzione d'interesse potenza di due
  • Budget dell'output decodificato per codestream ostili o inspiegabilmente grandi
  • Selezione automatica della risoluzione del renderer dai pixel visibili del target
  • Ricostruzione parallela limitata di tile indipendenti intersecanti
  • Telemetria deterministica di composizione, annullamento, limite worker e memoria di picco

Esempio d'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;
        

Implementazione tecnica

Il supporto JPEG2000 è implementato tramite l'unità HPDFJpeg2000.pas, che fornisce:

  • THPDFJpeg2000Decoder: Classe decoder principale per elaborare immagini JPEG2000
  • Rilevamento del formato: Identificazione automatica dei formati JP2, J2K e JPT
  • Ispezione dell'header: InspectHeaderFromByteArray legge dimensioni, componenti e SourceColorSpace senza decodificare i campioni di pixel
  • Elaborazione degli stream: Supporto del caricamento immagini sia da file sia da stream
  • Accesso ai tile: LoadTileFromByteArray decodifica un tile validato e riporta il suo offset sorgente e la griglia
  • Selezione della risoluzione: LoadRegionFromByteArray combina un rettangolo sorgente con un fattore di riduzione wavelet
  • Decodifica parallela dei tile: LoadRegionFromByteArrayParallel uses independent decoder instances and deterministic row-major composition
  • PDF caricati: DecodeLoadedImageRegionAtResolution seleziona un livello che non sotto-risolve nessuna delle due dimensioni target
  • Controlli operativi: JPEG2000ParallelTileDecoding e JPEG2000TileWorkerLimit controllano l'integrazione col renderer, mentre GetLastJPEG2000ParallelDecodeStats riporta stime di scheduling e budget
  • Integrazione OpenJPEG: Decodifica collegata nativa su Win32 e Win64

Vantaggi di prestazione

  • Rapporti di compressione migliori del JPEG tradizionale
  • Nessun artefatto a blocchi ad alti tassi di compressione
  • Trasmissione e visualizzazione progressive
  • Region of interest (ROI) encoding support
  • Ricostruzione concorrente quando una regione visibile attraversa tile di codestream indipendenti
  • Opzione di compressione senza perdita

Compatibility

Il supporto JPEG2000 è disponibile sia nelle versioni a 32 bit sia in quelle a 64 bit di HotPDF ed è compatibile con tutte le versioni supportate di Delphi e C++Builder

Vedi anche: