Vtični upodabljalni zaledni sistemi strani

HotPDF lahko usmeri upodabljanje bitmapne slike naložene strani skozi zaledni sistem, ki ga definira aplikacija, pri tem pa ohrani obstoječi upodabljalnik kot privzeti prehod brez konfiguracije in neobvezni nadomestni prehod

Vgrajeni nativni zaledni sistem

PDF.UseNativeGDIRenderBackend;
Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);

THPDFNativeGDIRenderBackend izpostavi uveljavljeni nativni upodabljalnik Windows GDI prek iste javne pogodbe zalednega sistema, ki jo uporabljajo zunanje implementacije

Njegove zmožnosti razglasijo prbcNative, prbcDeterministic, prbcTransparency, prbcColourManagement in prbcThreadSafe, ne da bi zahtevale prbcDeviceAcceleration

SIMD scanline backend

var
  Backend: IHPDFPageRenderBackend;
begin
  Backend := THPDFSIMDScanlineRenderBackend.Create;
  PDF.PageRenderBackend := Backend;
  Bitmap := PDF.RenderLoadedPageToBitmap(0, 144);
end;

THPDFSIMDScanlineRenderBackend vnaprej preveri celotno prevedeni display list in nato podprta polnila pravokotnikov DeviceRGB ali DeviceGray zapiše neposredno v končno 32-bitno bitmovno površino, in sicer prek paketov po 64 bajtih in vektorskih repov po 16 bajtih

Sestavljene pravokotne poti se narišejo kot ena sama barvalna operacija po fill pravilu nonzero ali even-odd, pri čemer se ohranijo luknje, transformirana smer podpoti in že narisana vsebina; rasterizacija preverja preklic v omejenih paketih in zavrže nedokončane površine

The backend accepts graphics-state save and restore, orthogonal scale, translation and right-angle rotation matrices, fill colour changes, rectangles, fill operators, and path reset; text, arbitrary paths, strokes, images, transparency, clipping, patterns, shadings, unsupported colour spaces, and non-orthogonal transforms decline before bitmap allocation

Its capabilities declare prbcSIMD, prbcThreadSafe, and prbcDeterministic without claiming device acceleration, transparency, or colour management

prbcDeviceAcceleration

Pogodba zalednega sistema po meri

Implementirajte IHPDFPageRenderBackend in ga dodelite THotPDF.PageRenderBackend

THPDFPageRenderBackendRequest dobavi zahtevani indeks strani in DPI, prevedeni THPDFPageDisplayList ter razreševalnik THPDFRenderDocAccess za tokove, slike, pisave, neobvezno vsebino, upravljanje barv in preklic

Zaledni sistem lahko pregleda vsak prevedeni operator prek THPDFPageDisplayList.GetToken, ne da bi znova razčlenil vsebino strani

Vrnite True s sveže dodeljeno TBitmap, da prenesete lastništvo bitmapne slike na HotPDF; vrnite False brez bitmapne slike, da zavrnete zahtevo

Sočasnost in nadomestni prehod

Zaledni sistemi, ki razglasijo prbcThreadSafe, lahko tečejo sočasno skozi oba cevovoda vzporednega upodabljanja strani

Zaledni sistemi brez te zmožnosti se serijalizirajo prek namenske ključavnice klica, medtem ko prevajanje seznama prikaza ostane sočasno

rbfpSoftwareFallback ponovi nedosegljivo, zavrnjeno ali neuspelo zahtevo zalednega sistema z obstoječim upodabljalnikom, medtem ko rbfpFail sproži EHPDFRenderBackend

Sprememba zalednega sistema razveljavi vnose predpomnilnika upodobljenih strani v pomnilniku in na disku, tako da se slike različnih upodabljalnikov nikoli ne mešajoIHPDFPageRenderBackendFailureInfo or return a per-request diagnostic reason so concurrent declines retain the reason for the exact render attempt

Changing the backend invalidates in-memory and persistent rendered-page cache entries so images from different renderers are never mixed

Diagnostika in vizualna vrata

THPDFRenderBackendStatistics poroča o poskusih, uspehih, neuspehih, programskih nadomestnih prehodih, serijaliziranih klicih, pretečenem času, imenu zalednega sistema in zadnjem razlogu neuspeha

Vgrajena naprava paritete uporablja prekrivajočo se prosojnost in razglasi največji Delta E 0, napako alfa sestavljanja RGB 0 in število različnih slikovnih pik 0 zoper privzeti upodabljalnik na Win32 in Win64

Povezani API-ji