CompressImages

Afbeeldingsverwerking, documenteigenschappen

Beschrijving

Stelt de standaardcompressiemodus in die na deze aanroep geldt voor rauwe raster-afbeeldingsdata die aan het document wordt toegevoegd. De instelling raakt afbeeldingen waarvan de pixels ongecomprimeerd worden geüpload (BMP, raw pixel-arrays); afbeeldingen die al gecomprimeerd zijn (JPEG, JPEG 2000, CCITT, JBIG2) houden hun bestaande codering en worden ongewijzigd opgeslagen, omdat hercomprimeren het bestand zou doen opzwellen en kwaliteit zou kosten

Syntaxis

Delphi

Function TPDFlib.CompressImages(Compress: Integer): Integer;

ActiveX

Function PDFlib::CompressImages(Compress As Long) As Long

DLL

int DLCompressImages(int InstanceID, int Compress);

Parameters

Compress0 — store raw raster images uncompressed.
1 — flate-compress raw raster images (/FlateDecode filter).

Retourwaarden

0De parameter Compress was buiten bereik
1De afbeeldingscompressie-instelling is bijgewerkt

Opmerkingen

De instelling raakt alleen afbeeldingen die na de aanroep worden toegevoegd. De standaard is comprimeren. Compressie uitzetten is af en toe handig bij integratie met een downstream-renderer die geen flate-gedecodeerde afbeeldingsstreams ondersteunt; onder normaal gebruik laat je compressie gewoon aan

Flate-compressie is verliesvrij. Voor lossy JPEG-compressie van een rauwe rasterafbeelding: codeer de bron naar JPEG vóór het toevoegen en gebruik AddImageFromFile of AddImageFromStream — de JPEG-bytestream wordt dan direct met een /DCTDecode-filter ingebed

Voorbeeld

// Compress raw bitmaps but leave the pre-encoded JPEG as-is
PDF.CompressImages(1);
PDF.AddImageFromFile('logo.bmp');        // BMP -> flate compressed
PDF.AddImageFromFile('photo.jpg');       // JPEG bytes embedded directly (DCT)
PDF.AddImageFromFile('chart.png');       // PNG decoded -> flate compressed

Zie ook

CompressContent, CompressFonts, AddImageFromFile, AddImageFromStream