CompressImages

Obsługa obrazów, Właściwości dokumentu

Opis

Ustawia domyślny tryb kompresji stosowany do surowych danych obrazów rastrowych dodanych do dokumentu po tym wywołaniu. Ustawienie wpływa na obrazy, których piksele są przesyłane bez kompresji (BMP, surowe tablice pikseli); obrazy już skompresowane (JPEG, JPEG 2000, CCITT, JBIG2) zachowują istniejące kodowanie i są zapisywane bez zmian, ponieważ ponowna kompresja zwiększyłaby rozmiar pliku i pogorszyła jakość.

Składnia

Delphi

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

ActiveX

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

DLL

int DLCompressImages(int InstanceID, int Compress);

Parametry

Compress0 — przechowuj surowe obrazy rastrowe bez kompresji.
1 — kompresuj surowe obrazy rastrowe algorytmem Flate (filtr /FlateDecode).

Wartości zwracane

0Parametr Compress był poza zakresem.
1Ustawienie kompresji obrazów zostało zaktualizowane.

Uwagi

Ustawienie wpływa tylko na obrazy dodane po wywołaniu. Domyślnie kompresja jest włączona. Wyłączenie kompresji bywa przydatne podczas integracji z dalszym rendererem, który nie obsługuje strumieni obrazów dekodowanych przez Flate; w zwykłym użyciu pozostaw kompresję włączoną.

Kompresja Flate jest bezstratna. Aby zastosować stratną kompresję JPEG do surowego obrazu rastrowego, przed dodaniem zakoduj źródło do formatu JPEG i użyj AddImageFromFile lub AddImageFromStream — strumień bajtów JPEG zostanie wtedy osadzony bezpośrednio z filtrem /DCTDecode.

Przykład

// 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

Zobacz również

CompressContent, CompressFonts, AddImageFromFile, AddImageFromStream