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 и печатное производство