property ObjectTransparent[Index: Integer]: Boolean; // read only
PDF 1.4 introduceerde het Transparantie-Imaging-Model (PDF 32000-1 § 11), dat elk pagina-object in staat stelt een grafische-staat-alfa (ca/CA) en een overvloeimodus (BM in het ExtGState-woordenboek) op te geven. ObjectTransparent retourneert True als PDFium een van beide op het object op Index detecteerde, wat betekent dat de renderer niet eenvoudig kan oververven en een geïsoleerde compositing-buffer voor het object moet toewijzen.
Dit is het per-object-analoog van Transparent, dat rapporteert of de hele huidige pagina transparante inhoud bevat. Gebruik het wanneer u alleen de kostbare delen van een pagina wilt afvlakken, inkomende PDF's wilt auditen voor drukkerij-pijplijven die transparantie niet begrijpen, of aangepaste rendering wilt versnellen door compositing kort te sluiten voor de meerderheid van de objecten die volledig ondoorzicht zijn.
Het resultaat weerspiegelt de eigen grafische staat van het object op invoegtijd. Het muteren van het object (bijvoorbeeld via native FPDFPageObj_SetFillColor met een niet-255-alfa) verandert de gerapporteerde waarde pas nadat UpdatePage en ReloadPage de gecachte pagina hebben herbouwd.
| Index | Op nul gebaseerde pagina-objectindex, 0 ≤ Index < ObjectCount. |
True.False rapporteren — de eigenschap beschrijft het object zelf, niet hoe het met siblings wordt gecompositeerd.FPDFPageObj_HasTransparency van PDFium in en is opzettelijk goedkoop om aan te roepen binnen lussen over 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;