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

Resurssien ja kuvien optimointi