PDFium Delphi Component Docs

ObjectTransparent Propiedad

Componente: TPdf  ·  Unidad: PDFium
Indica si un objeto de página participa en la transparencia PDF — ya sea mediante un alfa de relleno/trazo no opaco o mediante un modo de fusión distinto de Normal — y por tanto necesita composición en lugar de un renderizado simple con el algoritmo del pintor

Syntax

property ObjectTransparent[Index: Integer]: Boolean;// solo lectura

Description

PDF 1.4 introdujo el Transparency Imaging Model (PDF 32000-1 § 11), que permite a cualquier objeto de página especificar un alfa de estado gráfico (ca/CA) y un modo de fusión (BM en el diccionario ExtGState). ObjectTransparent devuelve True si PDFium detectó cualquiera de estos en el objeto en Index, lo que significa que el renderizador no puede simplemente repintar y debe asignar un búfer de composición aislado para el objeto.

Es el análogo por objeto de Transparent, que informa si la página actual entera contiene contenido transparente. Úselo cuando quiera aplanar solo las partes costosas de una página, auditar PDF entrantes para canalizaciones de imprenta que no entienden la transparencia o acelerar el renderizado personalizado cortocircuitando la composición para la mayoría de objetos totalmente opacos.

El resultado refleja el propio estado gráfico del objeto en el momento de inserción. Mutar el objeto (por ejemplo mediante FPDFPageObj_SetFillColor nativo con un alfa distinto de 255) solo cambia el valor informado tras que UpdatePage y ReloadPage hayan reconstruido la página en caché.

Parameters

IndexÍndice de objeto de página basado en cero, 0 ≤ Index < ObjectCount.

Remarks

Example

// Contar objetos opacos frente a transparentes en la página actual
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;

See Also

ObjectCount, ObjectType, ObjectBounds, Transparent