PDFium Component Docs

ObjectTransparent Właściwość

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Wskazuje, czy obiekt strony uczestniczy w przezroczystości PDF — przez nieprzezroczyste alfa wypełnienia / obrysu albo przez tryb mieszania inny niż Normal — a więc wymaga kompozytowania zamiast prostego renderowania algorytmem malarza

Składnia

property ObjectTransparent[Index: Integer]: Boolean; // read only

Opis

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ę

Parametry

IndexZero-based page-object index, 0 ≤ Index < ObjectCount.

Uwagi

Przykład

// 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;

Zobacz też

ObjectCount, ObjectType, ObjectBounds, Transparent