property ObjectTransparent[Index: Integer]: Boolean; // read only
PDF 1.4, her page object'in bir graphics-state alpha (ca/CA) ve bir blend mode (BM ExtGState dictionary'sinde) belirtmesine izin veren Transparency Imaging Model'i (PDF 32000-1 § 11) getirdi. ObjectTransparent, PDFium Index konumundaki nesnede bunlardan herhangi birini algıladıysa True döndürür; bu da renderer'ın yalnızca üstüne boyama yapamayacağı ve nesne için yalıtılmış bir compositing buffer ayırması gerektiği anlamına gelir
Bu, tüm geçerli sayfada herhangi bir transparent content olup olmadığını bildiren Transparent'ın nesne başına karşılığıdır. Bunu, sayfanın yalnızca pahalı bölümlerini flatten etmek, transparency anlayamayan print-shop pipeline'ları için gelen PDF'leri denetlemek ya da tamamen opak nesnelerin çoğu için compositing'i kısa devre yaparak özel rendering'i hızlandırmak istediğinizde kullanın
Sonuç, nesnenin eklenme anındaki kendi graphics state'ini yansıtır. Nesneyi değiştirmek (örneğin non-255 alpha ile native FPDFPageObj_SetFillColor üzerinden) ancak UpdatePage ve ReloadPage önbelleğe alınmış sayfayı yeniden oluşturduktan sonra raporlanan değeri değiştirir
| Index | Sıfır tabanlı page-object dizini, 0 ≤ Index < ObjectCount |
True raporlarFalse raporlayabilir — özellik nesnenin kendisini tanımlar, kardeşleriyle nasıl compositing edildiğini değilFPDFPageObj_HasTransparency fonksiyonunu sarar ve ObjectCount üzerindeki döngüler içinde çağrılması özellikle ucuzdur
// 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;