Stöd för bildformatet JPEG2000

Översikt

HotPDF ger nu heltäckande stöd för JPEG2000-bildformat, inklusive JP2-, J2K- och JPT-filer. JPEG2000 är en wavelet-baserad bildkomprimeringsstandard som ger bättre komprimeringseffektivitet och kvalitet än traditionellt JPEG-format

Format som stöds

  • JP2: JPEG2000 Part 1-format med fullständig filstruktur
  • J2K: JPEG2000-kodströmsformat (råa komprimerade data)

Nyckelfunktioner

  • Automatisk formatdetektering och lämplig behandling
  • Stöd för både förlustfri och förlustfull komprimering
  • Stöd för flerkomponentsbilder (RGB, RGBA, gråskala)
  • Avancerat stöd för bitdjup (8, 12, 16 bitar per komponent)
  • Automatisk formatidentifiering och lämplig bearbetning
  • Stöd för både förlustfri och förlustgivande komprimering
  • Stöd för flerkomponentsbilder (RGB, RGBA, gråskala)
  • Avancerat stöd för bitdjup (8, 12 och 16 bitar per komponent)
  • Funktioner för progressiv avkodning
  • Minneseffektiv bearbetning av stora bilder

Användningsexempel


// Delphi-exempel - lägga till JPEG2000-bild i PDF
procedure AddJPEG2000Image;
var
  PDF: THotPDF;
begin
  PDF := THotPDF.Create(nil);
  try
    PDF.FileName := 'output.pdf';
    PDF.BeginDoc;
    PDF.AddPage;

    // Lägg till JPEG2000-bild - formatet identifieras automatiskt
    PDF.AddImage('sample.jp2', 100, 100, 200, 150);

    // J2K-kodströmsformat stöds också
    PDF.AddImage('sample.j2k', 100, 300, 200, 150);

    PDF.EndDoc;
  finally
    PDF.Free;
  end;
end;
        

Teknisk implementation

JPEG2000-stödet implementeras genom enheten HPDFJpeg2000.pas, som tillhandahåller:

  • THPDFJpeg2000Decoder: huvudavkodarklass för bearbetning av JPEG2000-bilder
  • Formatidentifiering: automatisk identifiering av JP2-, J2K- och JPT-format
  • Strömbearbetning: stöd för både fil- och strömbaserad bildinläsningInspectHeaderFromByteArray läser mått, komponenter och SourceColorSpace utan att avkoda pixelexemplar
  • Strömbearbetning: Stöd för bildinläsning både från fil och från ström
  • Tile-åtkomst: LoadTileFromByteArray avkodar en validerad tile och rapporterar dess källoffset och rutnät
  • Upplösningsval: LoadRegionFromByteArray kombinerar en källrektangel med en vålet-reduktionsfaktor
  • Parallell tile-avkodning: LoadRegionFromByteArrayParallel använder oberoende avkodarinstanser och deterministisk radordnad sammansättning
  • Laddade PDF:er: DecodeLoadedImageRegionAtResolution väljer en nivå som inte underlöser någon av måldimensionerna
  • Styrning av körning: JPEG2000ParallelTileDecoding och JPEG2000TileWorkerLimit styr integrationen med renderaren, medan GetLastJPEG2000ParallelDecodeStats rapporterar schemaläggning och budgetuppskattningar
  • OpenJPEG-integration: ramverk för avancerad bearbetning med OpenJPEG-biblioteket

Prestandafördelar

  • Bättre komprimeringsförhållanden än traditionell JPEG
  • Bättre komprimeringsgrad än traditionell JPEG
  • Inga blockartefakter vid höga komprimeringsnivåer
  • Progressiv överföring och visning
  • Stöd för ROI-kodning (region of interest)
  • Alternativ för förlustfri komprimering

Kompatibilitet

JPEG2000-stöd finns i både 32-bitars- och 64-bitarsversioner av HotPDF och är kompatibelt med alla Delphi- och C++ Builder-versioner som stöds

Se även