property ObjectTransparent[Index: Integer]: Boolean; // read only
PDF 1.4 wprowadził model obrazowania przezroczystości (PDF 32000-1 § 11), który pozwala dowolnemu obiektowi strony określić alfa stanu graficznego (ca/CA) oraz tryb mieszania (BM w słowniku ExtGState) ObjectTransparent zwraca True, jeśli PDFium wykrył któreś z tych ustawień dla obiektu na Index, co oznacza, że renderer nie może po prostu nadpisać zawartości i musi przydzielić dla obiektu izolowany bufor kompozytowania
To odpowiednik per obiekt właściwości Transparent, która raportuje, czy cała bieżąca strona zawiera jakąkolwiek przezroczystą zawartość Użyj jej, gdy chcesz spłaszczać tylko kosztowne fragmenty strony, sprawdzać przychodzące PDF-y pod kątem potoków drukarni, które nie rozumieją przezroczystości, albo przyspieszać własne renderowanie przez pomijanie kompozytowania dla większości całkowicie nieprzezroczystych obiektów
Wynik odzwierciedla własny stan graficzny obiektu w chwili wstawienia Modyfikacja obiektu (na przykład przez natywne FPDFPageObj_SetFillColor z alfą inną niż 255) zmienia zgłaszany wynik dopiero po tym, jak UpdatePage i ReloadPage odbudują buforowaną stronę
| Index | Zero-based page-object index, 0 ≤ Index < ObjectCount. |
TrueFalse — właściwość opisuje sam obiekt, a nie sposób jego kompozytowania z sąsiadamiFPDFPageObj_HasTransparency PDFium i celowo jest tania do wywołania w pętlach po 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;