PDFium Delphi Component Docs

ObjectTransparent Proprietà

Componente: TPdf  ·  Unità: PDFium
Indica se un oggetto pagina partecipa alla trasparenza PDF, sia tramite un alpha di riempimento o tratto non opaco sia tramite una modalità di fusione diversa da Normal, e quindi richiede compositing invece del semplice rendering basato sull'algoritmo del pittore

Syntax

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

Description

Il PDF 1.4 ha introdotto il Transparency Imaging Model (PDF 32000-1 § 11), che consente a qualsiasi oggetto di pagina di specificare un alpha graphics-state (ca/CA) e una blend mode (BM nel dizionario ExtGState). ObjectTransparent restituisce True se PDFium ha rilevato una delle due cose sull'oggetto a Index, il che significa che il renderer non può semplicemente sovrapporre e deve allocare un buffer di compositing isolato per l'oggetto

È l'analogo per singolo oggetto di Transparent, che riporta se l'intera pagina corrente contiene contenuti trasparenti. Usalo quando vuoi appiattire solo le porzioni costose di una pagina, verificare i PDF in ingresso per pipeline di stampa che non capiscono la trasparenza, o accelerare il rendering personalizzato cortocircuitando il compositing per la maggioranza degli oggetti completamente opachi

Il risultato riflette lo stato grafico proprio dell'oggetto al momento dell'inserimento. Mutare l' oggetto (per esempio tramite FPDFPageObj_SetFillColor nativo con un alpha diverso da 255 ) cambia il valore riportato solo dopo che UpdatePage e ReloadPage hanno ricostruito la pagina in cache

Parameters

IndexIndice dell'oggetto di pagina a base zero, 0 ≤ Index < ObjectCount

Remarks

Example

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

See Also

ObjectCount, ObjectType, ObjectBounds, Transparent