THotPDF.OptimizeLoadedImagesByVisualCost Method
Kører en afgrænset kvalitetssøgning for berettigede indlæste JPEG- og JPEG 2000-billeder og antager den kandidat med lavest omkostning, der opfylder både kvalitets- og besparelsesgrænserne
Deklaration
function OptimizeLoadedImagesByVisualCost(
const Options: THPDFImageRecompressionCostOptions;
out AInfo: THPDFImageRecompressionCostInfo): Integer;
Omkostningsmodel
Hver kodet kandidat afkodes og sammenlignes med den afkodede kilde via samplede luma- og chroma-residualer på en normaliseret perceptuel fejlskala fra 0 til 100
Kandidater over MaximumPerceptualError eller under MinimumSavingsBytes afvises, før der scores
score = VisualErrorWeight * sqr(error / MaximumPerceptualError)
+ ByteCostWeight * (candidateBytes / sourceBytes)
Laveste score vinder, derefter mindre kodet størrelse og derefter højere kvalitet, når scores er lige, så gentagne kørsler giver samme output
THPDFImageRecompressionCostOptions
MinimumQuality, MaximumQuality og QualityStep definerer de afgrænsede kvalitetsforsøg, og den maksimale kvalitet er altid med, selv når trinnet ikke går op i intervallet
SampleStride styrer deterministisk pixel-undersampling fra 1 til 64, og de to ikke-negative vægte lader kalderne favorisere visuel trofasthed eller kompakt output
THPDFImageRecompressionCostOptions.Default gennemgår kvalitet 30 til 90 i trin af 10, begrænser den perceptuelle fejl til 3, kræver mindst én sparet byte, sampler hver fjerde pixel i hver dimension og vægter visuel fejl og byteomkostning lige
THPDFImageRecompressionCostInfo
Resultatet rapporterer antal scannede og berettigede billeder, JPEG- og JPEG 2000-omskrivninger, kodningsforsøg, visuelle og byteomkostningsbaserede afvisninger, summer for valgt kvalitet, maksimal accepteret perceptuel fejl, bytesummer og DeterministicSelection-status
Sikkerhed
Billedmasker, colour-key-masker, spotfarver, Lab-billeder og ikke-RGB ICCBased-kilder forbliver uændrede, mens konvertible kalibrerede RGB-kilder bevarer et eksplicit kalibreret output-farverum
Annullering kontrolleres før hvert billede og hvert kodningsforsøg, og ingen kildestrøm erstattes, før en komplet accepteret kandidat er valgt