|
JPEG2000-afbeeldingsformaatondersteuning
Overzicht
HotPDF biedt uitgebreide ondersteuning voor JPEG2000-afbeeldingsformaten, waaronder JP2- en J2K-bestanden. JPEG2000 is een op wavelets gebaseerde beeldcompressiestandaard die een betere compressie-efficiëntie en kwaliteit levert dan het traditionele JPEG-formaat
Supported Formats
- JP2: JPEG2000 Part 1-formaat met volledige bestandsstructuur
- J2K: JPEG2000-codestreamformaat (ruwe gecomprimeerde data)
Belangrijkste kenmerken
- Automatische formaatdetectie en passende verwerking
- Ondersteuning voor zowel verliesvrije als verlieslatende compressie
- Ondersteuning voor afbeeldingen met meerdere componenten (RGB, RGBA, grijswaarden)
- Geavanceerde bitdiepte-ondersteuning (8, 12, 16 bits per component)
- Directe gevalideerde codestream-tile-decodering met tile-grid-metadata
- Gecombineerde decodering van bronregio en power-of-two-resolutie van interesse
- Budgetten voor gedecodeerde uitvoer bij vijandige of onverwacht grote codestreams
- Automatische renderer-resolutiekeuze op basis van zichtbare doelpixels
- Begrensde parallelle reconstructie van onafhankelijke kruisende tiles
- Deterministische compositie-, annulerings-, workerlimiet- en piekgeheugentelemetrie
Gebruiksvoorbeeld
// 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;
Technische implementatie
De JPEG2000-ondersteuning is geïmplementeerd via de HPDFJpeg2000.pas-unit, die het volgende biedt:
- THPDFJpeg2000Decoder: Hoofddecoderklasse voor het verwerken van JPEG2000-afbeeldingen
- Formaatdetectie: Automatische herkenning van JP2-, J2K- en JPT-formaten
- Headerinspectie:
InspectHeaderFromByteArray leest afmetingen, componenten en SourceColorSpace zonder pixelsamples te decoderen
- Streamverwerking: Ondersteuning voor het laden van afbeeldingen via bestand en stream
- Tiletoegang:
LoadTileFromByteArray decodeert één gevalideerde tile en rapporteert de bronoffset en het raster
- Resolutiekeuze:
LoadRegionFromByteArray combineert een bronrechthoek met een wavelet-reductiefactor
- Parallelle tile-decodering:
LoadRegionFromByteArrayParallel gebruikt onafhankelijke decoderinstanties en deterministische row-major-compositie
- Geladen PDF's:
DecodeLoadedImageRegionAtResolution kiest een niveau dat geen van beide doeldimensies te grof oplost
- Bediening:
JPEG2000ParallelTileDecoding en JPEG2000TileWorkerLimit regelen de rendererintegratie, terwijl GetLastJPEG2000ParallelDecodeStats plannings- en budgetschattingen rapporteert
- OpenJPEG-integratie: Native gekoppelde decodering op Win32 en Win64
Prestatievoordelen
- Betere compressieverhoudingen dan traditioneel JPEG
- Geen blokartefacten bij hoge compressieniveaus
- Progressieve verzending en weergave
- Ondersteuning voor encoding van een regio van interesse (ROI)
- Gelijktijdige reconstructie wanneer een zichtbare regio over onafhankelijke codestream-tiles loopt
- Optie voor verliesvrije compressie
Compatibility
JPEG2000-ondersteuning is beschikbaar in zowel 32-bits als 64-bits versies van HotPDF en is compatibel met alle ondersteunde Delphi- en C++ Builder-versies
Zie ook
|