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');