THotPDF.FlattenLoadedPageComplexGraphics
Spłaszcza cieniowania mesh i złożone zasoby Pattern w najniższej rozdzielczości, jaka mieści się w zmierzonym budżecie błędu wizualnego
Deklaracja
function FlattenLoadedPageComplexGraphics(PageIndex, MinimumDPI,
MaximumDPI, DPIIncrement: Integer;
MaximumPerceptualError: Double;
MaxRasterPixels, MaxTilePixels: Int64;
out Info: THPDFComplexGraphicsFlattenInfo): Boolean;
Model wyboru
Metoda wykrywa w słownikach zasobów strony cieniowania mesh typu 4–7, patterny tiling oraz patterny cieniowania oparte na mesh
Najpierw renderowana jest deterministyczna siatka 4×4 ograniczonych regionów próbkowania w rozdzielczości MaximumDPI, po czym testowane są rozdzielczości od MinimumDPI w górę z krokiem DPIIncrement. Próbki kandydackie są porównywane z referencją przez odległość RGB ważoną luminancją, przeskalowaną do zera-sto na skali błędu percepcyjnego
Wybrany zostaje pierwszy kandydat o wartości nieprzekraczającej MaximumPerceptualError. MaximumDPI zawsze pozostaje bezstratnym fallbackiem referencyjnym
Wynik i ograniczenia
Wybrany render strony jest zapisywany jako kafle CalRGB D65 kompresowane Flate, bez szwów. MaxRasterPixels ogranicza łączną rozdzielczość wyjściową, a MaxTilePixels — roboczy zestaw danych każdego renderu, konwersji i kompresji
Strony używające Separation lub DeviceN pozostają treścią wektorową przy cgfsSpotColorPreserved, bo rasteryzacja zniszczyłaby semantykę separacji procesowych
THPDFComplexGraphicsFlattenInfo raportuje liczbę wykrytych zasobów, wybrane i referencyjne DPI, zmierzony błąd, liczbę porównanych próbek, liczbę kafli, szczytową liczbę pikseli kafla, szczytowy rozmiar danych roboczych, przestrzeń barw wyjściową i składniki spot
Zobacz też FlattenLoadedPageTransparency oraz Display Lists and Print Production