DownsampleImages
Dokumenthåndtering, billeder
Beskrivelse
Reducerer opløsningen af indlejrede billed-XObjects, hvis effektive opløsning overstiger MaxDPI. Hvert kandidatbillede afkodes, resamples med bevaret billedforhold og genkodes som DCTDecode (JPEG), når Quality er større end 0, eller som tabsfri FlateDecode (PNG), når Quality er 0; billedstreamen samt posterne /Filter, /Width og /Height omskrives på stedet
Syntaks
Delphi
Function TPDFlib.DownsampleImages(MaxDPI, Quality, Filter: Integer): Integer;
Parametre
| MaxDPI | Opløsningstærskel i DPI; billeder, hvis anslåede effektive opløsning ligger over denne værdi, resamples. Værdier under 24 afbryder kaldet |
|---|---|
| Quality | JPEG-komprimeringskvalitet mellem 1 og 100 til genkodningen; angiv 0 for at genkode tabsfrit som PNG |
| Filter | 0 vælger box-filteret, som gennemsnitter kildepixelblokke; enhver anden værdi vælger bilineær resampling |
Returværdier
Antallet af omskrevne billed-XObjects, eller 0, når MaxDPI er under 24, eller intet billede oversteg tærsklen
Bemærkninger
Effektiv opløsning anslås ud fra billedets deklarerede pixelbredde mod en side i Letter-bredde, så gennemløbet er konservativt, og billeder i trykkvalitet røres ikke i tvivlstilfælde
Billeder mindre end 8 x 8 deklarerede pixels, billeder, der ikke kan afkodes, og billeder, hvis resamplede størrelse ikke ville blive mindre end originalen, springes over uden at fejle kaldet
Eksempel
PDF.LoadFromFile('scan.pdf', '');
PDF.DownsampleImages(150, 80, 0);
PDF.SaveToFile('scan-compressed.pdf');