PDFium Component Docs

ObjectTransparent Özellik

Bu API girdisi tanımlayıcıları, imzaları, kod bloklarını ve PDF terimlerini özgün biçiminde korur.
Bileşen: TPdf  ·  Birim: PDFium
Bir page object'in PDF transparency'e katılıp katılmadığını belirtir — ya opak olmayan fill/stroke alpha yoluyla ya da Normal olmayan bir blend mode yoluyla — ve bu yüzden basit painter's-algorithm rendering yerine compositing gerektirir

Söz dizimi

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

Açıklama

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

Parametreler

IndexSıfır tabanlı page-object dizini, 0 ≤ Index < ObjectCount

Notlar

Örnek

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

Ayrıca bkz.

ObjectCount, ObjectType, ObjectBounds, Transparent