THotPDF.OptimizeLoadedImagesByVisualCost Method
Kör en avgränsad kvalitetssökning för berättigade inlästa JPEG- och JPEG 2000-bilder och antar den billigaste kandidaten som uppfyller både kvalitets- och besparingsgränserna
Deklaration
function OptimizeLoadedImagesByVisualCost(
const Options: THPDFImageRecompressionCostOptions;
out AInfo: THPDFImageRecompressionCostInfo): Integer;
Kostnadsmodell
Varje kodad kandidat avkodas och jämförs med den avkodade källan genom samplade luma- och chroma-residualer på en normaliserad uppfattningsfel-skala från noll till 100
Kandidater ovanför MaximumPerceptualError eller under MinimumSavingsBytes avvisas före poängsättning
score = VisualErrorWeight * sqr(error / MaximumPerceptualError)
+ ByteCostWeight * (candidateBytes / sourceBytes)
Lägst poäng vinner, följt av mindre kodad storlek och sedan högre kvalitet när poängen är lika, så upprepade körningar använder samma utdata
THPDFImageRecompressionCostOptions
MinimumQuality, MaximumQuality och QualityStep definierar de avgränsade kvalitetsförsöken, och den maximala kvaliteten inkluderas alltid även när steget inte delar intervallet
SampleStride styr deterministisk pixelprovtagning från 1 till 64, medan de två icke-negativa vikterna låter anropare gynna visuell trohet eller kompakt utdata
THPDFImageRecompressionCostOptions.Default söker kvalitet 30 till 90 i steg om 10, begränsar uppfattningsfel till 3, kräver en sparat byte, samplar var fjärde pixel i varje dimension, och väger visuellt fel och bytekostnad lika
THPDFImageRecompressionCostInfo
Resultatet rapporterar antal skannade och berättigade bilder, JPEG- och JPEG 2000-omskrivningar, kodningsförsök, visuella- och bytekostnadsavvisningar, valda kvalitetssummor, högsta accepterade uppfattningsfel, byttesummor och DeterministicSelection-status
Säkerhet
Bildmasker, färgnyckelmasker, fläckfärger, Lab-bilder och icke-RGB ICCBased-källor förblir oförändrade, medan konverterbara kalibrerade RGB-källor behåller en explicit kalibrerad utdatafärgrymd
Avbrytning kontrolleras före varje bild- och kodningsförsök, och ingen källström ersätts om inte en komplett accepterad kandidat har valts