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
| MaxDPI | Upplösningströskel i DPI; bilder vars uppskattade effektiva upplösning ligger över detta värde omsamplas. Värden under 24 avbryter anropet |
|---|---|
| Quality | JPEG-komprimeringskvalitet mellan 1 och 100 som används vid omkodningen; ange 0 för att koda om förlustfritt som PNG |
| Filter | 0 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');