DownsampleImages

Document Management, Images

Beskrivning

Sänker upplösningen på inbäddade bild-XObject vars effektiva upplösning överskrider MaxDPI. Varje kandidatbild avkodas, omsamplas med bevarad proportion och kodas om som DCTDecode (JPEG) när Quality är större än 0 eller som förlustfri FlateDecode (PNG) när Quality är 0; bildströmmen och posterna /Filter, /Width och /Height skrivs om på plats

Syntax

Delphi

Function TPDFlib.DownsampleImages(MaxDPI, Quality, Filter: Integer): Integer;

Parametrar

MaxDPIUpplösningströskel i DPI; bilder vars uppskattade effektiva upplösning ligger över detta värde omsamplas. Värden under 24 avbryter anropet
QualityJPEG-komprimeringskvalitet mellan 1 och 100 som används vid omkodningen; ange 0 för att koda om förlustfritt som PNG
Filter0 väljer boxfiltret, som medelvärdesbildar block av källpixlar; alla andra värden väljer bilineär omsampling

Returvärden

Antalet omskrivna bild-XObject, eller 0 när MaxDPI ligger under 24 eller ingen bild överskred tröskeln

Anmärkningar

Effektiv upplösning uppskattas från bildens deklarerade pixelbredd mot en sida med Letter-bredd, så passet är konservativt och bilder i tryckkvalitet lämnas ifred vid tvekan

Bilder mindre än 8 x 8 deklarerade pixlar, bilder som inte kan avkodas och bilder vars omsamplade storlek inte skulle bli mindre än originalet hoppas över utan att anropet misslyckas

Exempel

PDF.LoadFromFile('scan.pdf', '');
PDF.DownsampleImages(150, 80, 0);
PDF.SaveToFile('scan-compressed.pdf');