THotPDF.FlattenLoadedPageComplexGraphics

Сводит mesh shadings и сложные ресурсы Pattern в растр на самом низком разрешении, которое укладывается в измеренный бюджет визуальной ошибки

Объявление

function FlattenLoadedPageComplexGraphics(PageIndex, MinimumDPI,
    MaximumDPI, DPIIncrement: Integer;
    MaximumPerceptualError: Double;
    MaxRasterPixels, MaxTilePixels: Int64;
    out Info: THPDFComplexGraphicsFlattenInfo): Boolean;

Модель выбора

Метод находит в ресурсных dictionary страницы mesh shadings типов с 4 по 7, tiling patterns и shading patterns на основе mesh

Сначала метод рендерит детерминированную сетку образцов четыре на четыре из ограниченных регионов на MaximumDPI, затем проверяет разрешения от MinimumDPI вверх с шагом DPIIncrement. Кандидаты сравниваются с эталоном через дистанцию RGB с весами luma, нормированную на шкалу перцептивной ошибки от 0 до 100

Выбирается первый кандидат с ошибкой не выше MaximumPerceptualError. MaximumDPI всегда остаётся эталонным fallback без потерь

Вывод и ограничения

Выбранный рендер страницы выдаётся бесшовными сжатыми Flate tile в D65 CalRGB. MaxRasterPixels ограничивает суммарное разрешение вывода, а MaxTilePixels — рабочий набор каждого живого рендера, конверсии и сжатия

Страницы с Separation или DeviceN сохраняются как vector-содержимое с cgfsSpotColorPreserved, потому что растровое сведение разрушило бы семантику цветоделения

THPDFComplexGraphicsFlattenInfo сообщает число найденных ресурсов, выбранное и эталонное DPI, измеренную ошибку, количество сравнённых образцов, число tile, пиковые пиксели tile, пиковые рабочие байты, выходное цветовое пространство и spot-краски

См. также FlattenLoadedPageTransparency и Display list и печатное производство