Gelişmiş Render Semantiği

Yüklenen sayfa renderi, saydamlık grupları, yumuşak maskeler, Type 3 glif yordamları ve çözünürlük farkındalıklı görünür görüntü-bölgesi çözme uygularken iç içe Form XObject durumunu korur

Kesikli yol çizgileri

Yerel yol renderi, tek sayıda elemanlı diziler, kesirli uzunluklar ve yuvarlak ya da kare uçlu sıfır uzunluklu boyalı tireler dahil eksiksiz tire dizilerini ve fazlarını korur; tire deseni her alt yolda yeniden başlar

Düz renkli çizgiler ve degrade desenli çizgi kırpma işlemleri tek bir sınırlı tire geometrisi yolunu paylaşır, sürekli boyalı bölümlerin içindeki birleşimleri korur ve kapalı bir konturun başlangıç noktasında boyalı bölümleri birleştirir

Tire uzunlukları renderleyicinin ortalama geçerli dönüşüm ölçeğini korurken eğri bölme, uyarlanabilir aygıt-uzayı düzleştirmesi kullanır; dolgu boyaması ve bekleyen kırpma, bölünmemiş özgün yolu kullanmaya devam eder

Saydamlık grupları

Yumuşak maskeler

Transfer ve örneklenmiş işlevler

/TR2, /TR üzerinde öncelik alır, tek bir işlev her RGB çıktı kanalına uygulanır ve dört işlevli bir dizi ilk üç girdisini bağımsız olarak uygularken /Identity ve /Default girdilerini korur

Yeni bir transfer durumu uygulamak her kanalı atomik olarak değiştirir; böylece kimlik girdileri daha önceki bir grafik durumundan arama değerlerini miras alamaz

Type 0 örneklenmiş işlevler bir ila dört giriş ve çıkış boyutunu, /BitsPerSample değerleri 1, 2, 4, 8, 12, 16, 24 ve 32'yi, ters veya ileri /Encode eşlemelerini, bağımsız /Decode aralıklarını, çok doğrusal enterpolasyonu, çok boyutlu kübik enterpolasyonu ve tek boyutlu /Order 3 verisi için doğal kübik spline'ları destekler

Çözülen örnek baytları, doğrulanan boyutlar, eşlemeler ve kübik türevler, render iş parçacığı başına 64 MiB ile sınırlı sekiz girdilik bir LRU paylaşırken, aşırı büyük veya hatalı işlevler etkin transfer arama tablosunu kısmen değiştirmeden başarısız olur

Yarım ton ekranları

Type 6, Type 10 ve Type 16 eşik dizileri doğrudan kesin çözülmüş uzunluklarla, büyük endian 16 bit eşiklerle, toplamsal bileşen karşılaştırmasıyla ve açılı veya iki dikdörtgenli ekranları genişletmekten kaçınan kompakt periyodik şeritlerle çalıştırılır

Type 5 sözlükleri, /Gray ve gerekli /Default geri dönüşleriyle bağımsız /Red, /Green ve /Blue ekranlarını seçerken, seçilen her ekran genel transfer işlevini geçersiz kılabilir

Doğrulanan eşik baytları ve normalleştirilmiş geometrileri, renderleyici başına 64 MiB ile sınırlı 64 girdilik bir LRU paylaşır ve hatalı boyutlar, aşırı büyük tahsisler, iç içe Type 5 sözlükleri veya yük uzunluğu uyumsuzlukları tam etkin ekran durumunu sürekli ton modunda bırakır

Type 3 glifler

Type 3 CharProc'lar, font sözlüğünün geçerli kaynak kapsamı, Form desteği, kırpma, görüntüler, desenler ve sınırlı özyineleme ile eksiksiz içerik işleççi motoru üzerinden çalışır

d0 ve d1 glif metrikleri sağlarken, bir d1 yordamı PDF görüntüleme modelinin gerektirdiği gibi çağıran tarafından seçilen rengi korur

Yinelenen CharProc'lar, font, glif, doğrusal aygıt matrisi ve renk durumu eşleştiğinde çözülen ve jetonlaştırılan görüntüleme listelerini yeniden kullanır; dönüşüm dinamik kalır; böylece farklı konumlardaki yinelenen karakterler tek bir girdi paylaşır

Renderleyici başına LRU en fazla 256 girdi ve 131.072 jeton tutar, 16.384 jeton üzerindeki herhangi bir CharProc'u atlar ve davranışını GetLastType3GlyphCacheStats aracılığıyla raporlar

Kırpılmış ve küçültülmüş görüntü bölgeleri

Eksen hizalı görüntü XObject'leri yalnızca görünür kaynak sınırlarını ister ve görünür aygıt-piksel boyutunu çözme yoluna geçirir

Yumuşak maskeli bir görüntü, çizildiği boyutta bütün olarak çözülür ve maskesi aynı boyutta çözülür; böylece kırpma neyin boyandığını sınırlarken maske görüntüyle hizalı kalır; JPEG maskeleri küçültülmüş boyutlu DCT çözücüyü kullanır

Render sırasında, her iki yönde de çizilen boyutun en az iki katı olan bir çözülmüş bölge, çizilmeden veya önbelleğe alınmadan önce alan ortalamasıyla tam olarak çizilen boyuta küçültülür; böylece küçük çizilen büyük bir görüntü çözme önbelleğine sığar, iki kez çizilen bir grup veya yinelenen bir sayfa onu yeniden kullanır ve yumuşak maskesi o boyutta piksel piksel uygulanır. Stencil görüntü maskeleri tam çözünürlüklerini korur ve genel bölge-çözme yöntemleri belgelenmiş boyutlarını döndürür

JPEG 2000, dalgacık yeniden yapılandırma ve raster genişletmeden önce her iki hedef boyutu da karşılamak üzere seçilen ikinin kuvveti bir çözünürlük düzeyiyle çözücünün yerel bölge API'sini birleştirir

Karo adreslenebilir JPEG 2000 kod akışları, karo ızgara meta verisi ve çıktı bayt sınırları çözücü tarafından açığa çıkarılırken THPDFJpeg2000Decoder.LoadTileFromByteArray aracılığıyla doğrulanmış tek bir karoyu doğrudan çözebilir

Yerel bir bölge birden çok bağımsız karoyla kesiştiğinde, LoadRegionFromByteArrayParallel işçi başına özel OpenJPEG durumu atar ve tamamlanan rasterları deterministik satır-major sırada birleştirir; iptal, çıktı sınırları ve etkin en yüksek bellek bütçesi zamanlamayı durdurabilir veya sıralı geri dönüşü seçebilir

Region := PDF.DecodeLoadedImageRegion(ImageStream, 128, 64, 640, 480);
try
  Canvas.Draw(0, 0, Region);
finally
  Region.Free;
end;

İlgili API'ler