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
| Compress | 0 — store raw raster images uncompressed. 1 — flate-compress raw raster images ( /FlateDecode filter). |
|---|
Retourwaarden
| 0 | De parameter Compress was buiten bereik |
|---|---|
| 1 | De 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 compressedZie ook
CompressContent, CompressFonts, AddImageFromFile, AddImageFromStream