Beépülő oldalrenderelő háttérrendszerek

A HotPDF a betöltött oldal bitkép-renderelését egy alkalmazás által definiált háttérrendszeren keresztül irányíthatja, miközben a meglévő renderelőt nulla-konfigurációs alapértelmezésként és opcionális visszaesésként tartja meg

Beépített natív háttérrendszer

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

A THPDFNativeGDIRenderBackend a kialakult Windows natív GDI-renderelőt ugyanazon nyilvános háttérrendszer-szerződésen keresztül teszi elérhetővé, amelyet a külső megvalósítások is használnak

A képességei deklarálják a prbcNative, prbcDeterministic, prbcTransparency, prbcColourManagement és prbcThreadSafe értékeket, anélkül hogy igényelnék a prbcDeviceAcceleration értéket

SIMD scanline backend

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

A THPDFSIMDScanlineRenderBackend előellenőrzi a teljes lefordított megjelenítési listát, majd a támogatott DeviceRGB vagy DeviceGray téglalapkitöltéseket közvetlenül a végső 32 bites bitképfelületre írja, 64 bájtos kötegekkel és 16 bájtos vektoros farokkal

Az összetett téglalapútvonalak a nonzero vagy az even-odd kitöltési szabályt követik egyetlen festési műveletként, megőrizve a lyukakat, az átalakított alsó útvonalak irányát és a korábban festett tartalmat; a raszterezés a megszakítást kötött kötegekben ellenőrzi, és eldobja a részleges felületeket

A háttérrendszer elfogadja a grafikai állapot mentését és visszaállítását, az ortogonális skálázást, a transzlációs és derékszögű forgatási mátrixokat, a kitöltőszín-váltásokat, a téglalapokat, a kitöltő operátorokat és az útvonal visszaállítását; a szöveg, a tetszőleges útvonalak, a körvonalak, a képek, az átlátszóság, a kivágás, a minták, az árnyalatok, a nem támogatott színterek és a nem ortogonális transzformációk a bitkép lefoglalása előtt utasítják el a kérést

A képességei deklarálják a prbcSIMD, prbcThreadSafe és prbcDeterministic értékeket, anélkül hogy eszközgyorsítást, átlátszóságot vagy színkezelést igényelnének

A THPDFSIMDRenderBackendStatistics jelenti a közvetlen felületeket, a renderelt téglalapokat, a vektoros blokkokat, a skalár farok pixeleit és a pontosan elutasított operátort, ha visszaesésre kerül sor

Egyedi háttérrendszer-szerződés

Valósítsa meg az IHPDFPageRenderBackend interfészt, és rendelje hozzá a THotPDF.PageRenderBackend tulajdonsághoz

A THPDFPageRenderBackendRequest biztosítja a kért oldalindexet és DPI-t, a lefordított THPDFPageDisplayList értéket, valamint egy THPDFRenderDocAccess feloldót a folyamokhoz, képekhez, betűkhöz, opcionális tartalomhoz, színkezeléshez és megszakításhoz

Egy háttérrendszer minden lefordított operátort megvizsgálhat a THPDFPageDisplayList.GetToken segítségével az oldaltartalom újraelemzése nélkül

Adjon vissza True értéket egy újonnan lefoglalt TBitmap értékkel a bitkép-tulajdonlás HotPDF-re való átruházásához; adjon vissza False értéket bitkép nélkül a kérés elutasításához

Egyidejűség és visszaesés

A prbcThreadSafe értéket deklaráló háttérrendszerek mindkét párhuzamos oldalrenderelő csővezetéken keresztül egyidejűleg futhatnak

Az e képesség nélküli háttérrendszereket egy dedikált hívászár szerializálja, miközben a megjelenítési lista-fordítás egyidejű marad

Az rbfpSoftwareFallback a nem elérhető, elutasított vagy meghiúsult háttérrendszer-kérést a meglévő renderelővel próbálja újra, míg az rbfpFail EHPDFRenderBackend kivételt vált ki

A háttérrendszer opcionálisan megvalósíthatja az IHPDFPageRenderBackendFailureInfo felületet, vagy kérésenkénti diagnosztikai okot adhat vissza, így az egyidejű elutasítások megőrzik a pontos renderelési kísérlet okát

A háttérrendszer megváltoztatása érvényteleníti a memóriabeli és az állandó renderelt oldal gyorsítótár-bejegyzéseket, így a különböző renderelők képei soha nem keverednek

Diagnosztika és vizuális kapu

A THPDFRenderBackendStatistics jelenti a kísérleteket, sikereket, hibákat, szoftveres visszaeséseket, szerializált hívásokat, eltelt időt, a háttérrendszer nevét és az utolsó hiba okát

A beépített paritás-eszköz átfedő átlátszóságot használ, és maximális Delta E 0, alfa-kompozitáló RGB-hiba 0 és eltérő pixel-szám 0 értéket deklarál az alapértelmezett renderelőhöz képest Win32 és Win64 rendszeren

Kapcsolódó API-k