THotPDF.OptimizeLoadedImagesByVisualCost Method
Ajaa rajatun laatuhakujen kelvollisten ladattujen JPEG- ja JPEG 2000 -kuvien osalta ja ottaa käyttöön edullisimman ehdokkaan, joka täyttää sekä laatu- että säästörajat
Määrittely
function OptimizeLoadedImagesByVisualCost(
const Options: THPDFImageRecompressionCostOptions;
out AInfo: THPDFImageRecompressionCostInfo): Integer;
Kustannusmalli
Jokainen koodattu ehdokas puretaan ja verrataan purettuun lähteeseen näytteistettyjen luminaanssi- ja krominaanssijäännösten avulla normalisoidulla nollasta sataan ulottuvalla havaittavan virheen asteikolla
Ehdokkaat, jotka ylittävät MaximumPerceptualError tai alittavat MinimumSavingsBytes, hylätään ennen pisteytystä
score = VisualErrorWeight * sqr(error / MaximumPerceptualError)
+ ByteCostWeight * (candidateBytes / sourceBytes)
Pienin pistemäärä voittaa, sen jälkeen pienempi koodattu koko ja sitten korkeampi laatu, kun pisteet ovat tasan, joten toistuvat ajot tuottavat saman tulosteen
THPDFImageRecompressionCostOptions
MinimumQuality, MaximumQuality ja QualityStep määrittävät rajatut laatukokeet, ja maksimilaatu sisällytetään aina, vaikka askel ei jakaisi aluetta
SampleStride ohjaa determinististä pikselinäytteenottoa välillä 1–64, kun taas kaksi ei-negatiivista painoarvoa antavat kutsujille valita visuaalisen tarkkuuden tai tiiviin tulosteen
THPDFImageRecompressionCostOptions.Default etsii laatua 30–90 askeleella 10, rajoittaa havaittavan virheen arvoon 3, vaatii yhden säästetyn tavun, näytteistää joka neljännen pikselin kussakin ulottuvuudessa ja painottaa visuaalista virhettä ja tavukustannusta yhtä paljon
THPDFImageRecompressionCostInfo
Tulos raportoi skannattujen ja kelvollisten kuvien lukumäärät, JPEG- ja JPEG 2000 -uudelleenkirjoitukset, koodauskokeet, visuaaliset ja tavukustannushylkäykset, valittujen laatujen kokonaismäärät, suurimman hyväksytyn havaittavan virheen, tavukokonaismäärät ja DeterministicSelection-tilan
Turvallisuus
Kuvamaskit, väriavainmaskit, peittovärit, Lab-kuvat ja ei-RGB-ICCBased-lähteet pysyvät muuttumattomina, kun taas muunnettavat kalibroidut RGB-lähteet säilyttävät eksplisiittisen kalibroidun tulostusväriavaruuden
Peruutus tarkistetaan ennen jokaista kuvaa ja koodauskoetta, eikä yhtään lähdevirtaa korvata, ellei täydellistä hyväksyttyä ehdokasta ole valittu