Illustrator'ın vektör rasterleştirme işlemi nedir?


19

Şu anda vektör grafikleri rasterleştirmesi ve çeşitli uygulama türlerinde uygulandığı farklı yollar hakkında birkaç şey anlamaya çalışıyorum.

Birkaç programı test ettim ve karşılaştırdım ve kenar yumuşatmanın rasterleştirme sürecinde davranışlarında büyük bir fark olduğunu fark ettim . Özellikle Illustrator'daki oluşturma davranışıyla ilgileniyorum . Nedenini daha fazla okuyarak göreceksiniz.

Temel görüntü

Testlerim için, farklı renklerde düzensiz bir altıgen şeklinde düzenlenmiş gerçekten basit bir üçgen bileşimi kullandım.

Vektör grafik yazılımları

Illustrator, Affinity ve Inkscape'te aynı vektör grafiğinin üç oluşturucusu. (Afinite ve Inkscape'te üretilen görüntü tamamen aynıdır.)

Popüler grafik düzenleme araçlarında oluşturulan resimler

Gördüğünüz gibi, görüntüdeki Afinite ve Inkscape ile oluşturulan kenarların her birinde istenmeyen beyaz bir çizgi var. Kenar yumuşatma, bu alanı bitişik şekiller arasında küçük bir boşluk ile sonuçlanan düz bir renkle doldurmaz.

Illustrator uygulamasında boşluk olmamasına rağmen, şekillerin kenarları Yakınlık oluşturma kadar pürüzsüz görünür.

Burada, her görüntünün aynı alanını büyütülmüş olarak gösteren bir görüntü var.

Kenar yumuşatma gösteren lüks render

İki görüntü arasında çok ince bir fark var. Afinite oluşturma işlemi biraz daha yumuşaktır, ancak resimlere orijinal boyutlarında bakarken farkı görmek neredeyse imkansızdır.

Tarayıcılar

SVG oluşturma

Bir tarayıcıda SVG olarak dışa aktarılan aynı grafiklerin görüntülenmesi, hem Affinity hem de Inkscape tarafından üretilen raster görüntüye çok benzer.

Tarayıcıda oluşturulan SVG dosyası

Kenarlarda kenar yumuşatma (burada gösterilmeye gerçekten değmez) arasında çok küçük farklılıklar vardır, ancak ortak tarayıcılarda SVG rasterleştirmesi hemen hemen aynı şekilde davranır.

Ayrıştırılmış render

Illustrator'ı biraz daha render ederek test ederek, grafiklerimin parçalarını ayırmayı ve ayrı ayrı dışa aktarmayı ve ardından bir raster düzenleme yazılımı ile birlikte oluşturmayı denedim.

Görüntü yeniden düzenleme şeması

Teoride, tek bir parçaya sahip olmakla aynı görüntüyle sonuçlanır, ancak sonuç bu yöntem kullanılarak biraz farklıdır.

Yeniden oluşturulan görüntünün sonucu

Gösterildiği gibi, iki parça oluşturulduğunda, aralarında küçük bir boşluk vardır. Daha incelikli olsa da, Afinitede gösterilen grafiğe çok benzer.

Çokgen oluşturma

Blender (3D yazılımı)

Blender görünümünde SVG

Blender, SVG dosyalarını içe aktarmanıza ve eğri nesneleri olarak değiştirmenize olanak tanır. 3D görünüm penceresinde gösterilen içe aktarılan grafik. (Varsayılan olarak malzeme sahnedeki ışıklardan etkilenecektir. Malzeme özelliği panelindeki gölgesiz özelliğin kontrol edilmesi, şekillerin orijinal renkleriyle oluşturulmasına izin verecektir.)

İşte Blender'ın içindeki SVG'den yapılmış bir render.

Blender'da gerçek render

Üçgenler arasında herhangi bir boşluk yoktur. Diğer 3D yazılımların da aynı şekilde çalışması çok muhtemeldir. Blender tıpkı Illustrator gibi davranıyor mu yoksa öyle mi? Belki de tam tersi?

Gerçek sorular

  • Illustrator sahne arkasında hangi vektör çizim kitaplığını kullanıyor?
  • Illustrator'ın bir tür 3D renderleme motorundan faydalanması mümkün olabilir mi? Açık kaynak mı? (muhtemelen değil?)
  • Kahire ve Skia gibi iyi bilinen vektör çizim kütüphanelerinden herhangi biri aynı oluşturma davranışını elde edebilir mi? (Şekiller arasında boşluk yok)
  • Aynı davranışa sahip daha az bilinen vektör çizim kütüphanesi var mı?

4
Diğer yaygın oluşturucular da bu birleşme sorununa sahiptir. Bkz. W3.impa.br/~diego/projects/GanEtAl14/sample.html?contour .
lhf

Yanıtlar:


12

Illustrator uygulamasının 2 veya 3 farklı rasterizatörü olduğunu söyleyebildiğim kadarıyla. Ekran önizlemesi, efektinizi en aza indirecek şekilde ayarlanmış olsa da, şovunuzla aynı boşluğa eğilimlidir. Yayınınız " sanat için optimize edilmiş " çıktıyla ilgilendiğinizi ima ediyor gibi görünüyor .

Resimlerin ekran önizlemesine karşı sanat optimizasyonu

Resim 1 : Illustrator uygulamasının farklı oluşturma modları. Sanat solda optimize edildi ve sağda ima edildi. İpucu, hafif bir arka plan gösterdiğini unutmayın. Üçüncü gösteremiyorum böylece yeni CC sürümü yok.

Sanat optimizasyonu nasıl çalışır?

Sanat için optimize edilmiş render modu, daha yüksek bir çözünürlükte oluşturulmuş, daha sonra bir kutu filtrelemeye tabi tutulmuş, yumuşatılmamış bir görüntüdür . Buna pahalı olan süper örnekleme denir. Kutu filtresi, kutudaki örneklerin (piksel) ortalama değeridir. Bu, blenderınızda kullanılan çoklu piksel filtresinin kullandığı teknolojiye benzer bir teknolojidir. Aynı şeyi manuel olarak yapabilir ve aynı sonuçları alabilirsiniz.

Aslında form illustrator almak render gerçekten iyi değil. Doğrusal olmayan alanda işlenir ve düzeltilmez ve daha yüksek dereceli filtrelere geçerek ve doğrusal renk uzayında hesaplama yaparak daha iyi sonuçlar alabilirsiniz. Tüm çoklu numune yöntemleri aynı doğru renderlemeyi gösterir (matematiksel olarak doğru bile yeterli örnekler verilir).

resim açıklamasını buraya girin

Resim 2 : Çok resimli filtreleme, soldaki Illustrator'da yerel 'Sanat İçin Optimize Edilmiş'. Doğrusal alanda çok loblu Lanczos filtreli 16x16 pikselde aynı görüntüde . Zumunuzun 1: 1 olduğundan emin olun.

Sorun

Aslında, ekran oluşturucuların mevcut nesillerinin gerçek problemi ile anlaştınız. Kapsam hesaplaması için çoklu örneklemeden kaçınmaya çalışırlar. Ama sadece mükemmel çalışamaz! Çünkü alfa harmanı:

c0=c1*α+c2*(1-α)

Zincirli olduğunda yarı saydam yüzeylerde zincirlendiğinde asla 0'a ulaşmaz, bu nedenle arka plan çukur gösterir. Ayrıca kapsama alanının nasıl dağıtıldığını bilmiyor, bu yüzden yanlış yapacak. Bunun gibi örtüşmeyen bir durumda bunun etrafında bir yol yoktur. ancak şekillerin çakışmasına izin verirseniz, kapsam hesaplaması çözülebilir ( Buraya bakın ).

Diğer sorular Kenar yumuşatma uygulanmamış bir görüntüyü yalnızca çoklu örnekleyerek diğer tüm motorlarda aynı sonucu alabilirsiniz. Hız için optimize ettikleri için çakışma hilesi yapmadan ekran görüntülemelerinde efekt elde edemezsiniz. Illustrator 3D kullanıyor mu? Yeni CC, 3D'nin ne olduğuna ilişkin yorumunuza bağlı olabilir. Bu sorunun 3D ile hemen hemen hiçbir sinyal rekonstrüksiyon yöntemi ile ilgisi yoktur, bu yüzden gerçekten soru için geçerli değildir.


1
BTW, alfa harmanlama, böyle durumlarda "doğru olanı yapmak" Bu kağıdı kontrol etmez neden bir daha ayrıntılı bir görünüm için: Sözlü Alpha Andrew Glassner tarafından.
Nathan Reed

@NathanReed thnx görünecek, ama burada sadece alfa doğru kapsama çalıştı olsa bile hangi bölümlerin pikselleri kapsayan ve bilmiyorum olduğunu. Yani% 50 alfa içeren iki katman, tamamen opak veya yalnızca bir katman görünür olduğu anlamına gelebilir, çünkü nesneler henüz bilmediğimiz aynı bölgeyi doldurur.
joojaa

2
@joojaa Evet temelde kağıdın yaptığı nokta: alfa ya opaklığı, kapsamı ya da her ikisinin bir kombinasyonunu temsil edebilir. :)
Nathan Reed

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.