property ObjectTransparent[Index: Integer]: Boolean; // read only
PDF 1.4 introducerade Transparency Imaging Model (PDF 32000-1 § 11), som låter vilket
sidobjekt som helst ange en grafiktillstånds-alpha (ca/CA) och ett
blend mode (BM i ExtGState-ordboken). ObjectTransparent returnerar
True om PDFium upptäckte någon av dessa på objektet vid Index,
vilket betyder att renderaren inte bara kan måla över utan måste allokera en isolerad
kompositionsbuffert för objektet
Detta är motsvarigheten per objekt till Transparent, som rapporterar huruvida hela den aktuella sidan innehåller något transparent innehåll. Använd den när du vill platta ut endast de kostsamma delarna av en sida, granska inkommande PDF:er för tryckeripipelines som inte förstår transparens eller snabba upp egen rendering genom att genväga kompositionen för majoriteten objekt som är helt opaka
Resultatet speglar objektets egna grafiktillstånd vid infogningstillfället. Att ändra
objektet (till exempel genom inbyggda FPDFPageObj_SetFillColor med en alpha
som inte är 255) ändrar det rapporterade värdet först efter att UpdatePage
och ReloadPage har byggt om den cachade sidan
| Index | Nollbaserat sidobjektsindex, 0 ≤ Index < ObjectCount |
TrueFalse — egenskapen beskriver själva objektet, inte hur det komponeras med syskonFPDFPageObj_HasTransparency och är medvetet billig att anropa inuti slingor över ObjectCount
// Count opaque vs transparent objects on the current page.
var I, NOpaque, NAlpha: Integer;
begin
NOpaque := 0; NAlpha := 0;
for I := 0 to Pdf1.ObjectCount - 1 do
if Pdf1.ObjectTransparent[I] then Inc(NAlpha)
else Inc(NOpaque);
Memo1.Lines.Add(Format('opaque=%d, transparent=%d', [NOpaque, NAlpha]));
end;