Şeffaflık (grafik) - Transparency (graphic)

Şeffaf arka plana sahip bir Apollon küresinin GIF animasyonu

Saydamlık , bir dizi grafik dosyası biçiminde mümkündür. "Şeffaflık" terimi farklı insanlar tarafından çeşitli şekillerde kullanılmaktadır, ancak en basit haliyle "tam şeffaflık" yani tamamen görünmez olan bir şey vardır. Grafiğin yalnızca bir kısmı tamamen şeffaf olmalıdır, aksi takdirde görülecek hiçbir şey olmaz. Daha karmaşık olan "kısmi saydamlık" veya "yarı saydamlık" olup, bir grafiğin renkli camla aynı şekilde kısmen saydam olduğu efekti elde edilir. Sonuçta yazdırılan bir sayfa veya bilgisayar veya televizyon ekranı bir noktada yalnızca bir renk olabileceğinden, kısmi saydamlık her zaman renkleri karıştırarak bir düzeyde simüle edilir. Renkleri karıştırmanın birçok farklı yolu vardır, bu nedenle bazı durumlarda şeffaflık belirsizdir.

Ek olarak, saydamlık genellikle bir grafik formatı için "ekstradır" ve bazı grafik programları saydamlığı yok sayar.

Hareketli PNG ( APNG ) 8 bit şeffaflık

Saydamlığı destekleyen raster dosya biçimleri, saydam bir renk veya bir alfa kanalı aracılığıyla GIF , PNG , BMP , TIFF , TGA ve JPEG 2000'i içerir .

Çoğu vektör formatı, herhangi bir nesneyi belirli bir noktaya koymaktan kaçındıkları için şeffaflığı dolaylı olarak destekler. Buna EPS ve WMF dahildir . Vektör grafikleri için bu kesinlikle şeffaflık olarak görülmeyebilir, ancak raster formatlarındaki şeffaflık ile aynı dikkatli programlamanın çoğunu gerektirir.

Daha karmaşık vektör biçimleri, yukarıdaki gibi grafik içindeki öğeler arasında saydamlık kombinasyonlarına izin verebilir. Buna SVG ve PDF dahildir .

Uygun bir raster grafik düzenleyici , şeffaflığı özel bir desenle, örneğin bir dama tahtası deseniyle gösterir.

Şeffaf pikseller

Bu görüntü ikili saydamlığa sahiptir (bazı pikseller tamamen saydam, diğer pikseller tamamen opaktır). Monokrom olduğu için herhangi bir arka plana karşı şeffaf olabilir.

Tek bir GIF veya PNG görüntüsünün paletindeki bir renk girişi, gerçek bir renk yerine "şeffaf" olarak tanımlanabilir. Bu, dekoder bu değere sahip bir pikselle karşılaştığında, bir arka plan görüntüsü durumunda olduğu gibi piksel piksel değişse de, ekranın görüntünün yerleştirildiği bölümünün arka plan renginde oluşturulduğu anlamına gelir .

Uygulamalar şunları içerir:

  • dikdörtgen olmayan bir görüntü, şeffaf çevre kullanılarak gerekli dikdörtgene doldurulabilir; görüntüde delikler bile olabilir (örneğin halka şeklinde olabilir)
  • bir metin akışında, karakter kümesinde mevcut olmadığı için bir görüntünün kullanıldığı özel bir sembole, eşleşen bir arka planla sonuçlanan şeffaf bir arka plan verilebilir.

Aynı renkte olan öğelerin kaybolmasını önlemek için şeffaf renk dikkatle seçilmelidir.

Çoğu popüler web tarayıcısı şeffaf GIF görüntülerini görüntüleme yeteneğine sahip olsa da, bu sınırlı şeffaflık biçimi bile düzensiz bir uygulamaya sahiptir. Bu destek genellikle yazdırmayı, özellikle aygıtta veya sürücüde saydamlık desteği içermeyen yazdırma aygıtlarını ( PostScript gibi ) kapsamaz. Web tarayıcıları dünyasının dışında, şeffaf GIF dosyaları için destek oldukça başarılı.

Saydam piksellerin kenar sınırlamaları

Bu görüntü ikili şeffaflığa sahiptir. Ancak, gri tonlamalı, kenar yumuşatma özelliğine sahip , bu nedenle yalnızca beyaz bir arka plana karşı iyi görünüyor. Farklı bir arka plana karşı ayarlandığında, gri tonlarından bir "gölgelenme" etkisi ortaya çıkar.

Saydam arka plana sahip karakterlerin ve diğer görüntülerin kenarlarında gri gölgeler olmamalıdır : bunlar normalde harfin/görüntünün rengi ile arka planın rengi arasındaki ara renkler için kullanılır, tipik olarak gri tonları siyah bir harf ile bir harf arasında orta düzeydedir. Beyaz arkaplan. Ancak, örneğin kırmızı bir arka plan ile ara renkler koyu kırmızı olacaktır. Gri kenar pikselleri, çirkin ve belirsiz bir sonuç verir. Değişken bir arka plan rengi için uygun sabit ara renkler yoktur.

Alfa kanallarına göre kısmi şeffaflık

Bu görüntü kısmi saydamlığa sahiptir (tamamen saydam ve tamamen opak arasında 254 olası saydamlık düzeyi). Kenar yumuşatılmasına rağmen herhangi bir arka plana karşı şeffaf olabilir.

PNG ve TIFF gibi bazı görüntü biçimleri, kenar sınırlaması sorununu çözen bir alfa kanalı aracılığıyla kısmi saydamlığa da izin verir. Her pikselin saydam olması veya saydam olmaması yerine, arka plan görüntüsünün bir kısmının ön plan görüntüsü boyunca gösterilmesine izin vererek 254 kısmen saydam düzeyine ayarlanabilir.

Kısmi saydamlığın önemli bir kullanımı, grafiklerde "yumuşak kenarlar" oluşturmaktır, böylece arka planlarına karışırlar. Ayrıca bkz. monokrom veya gri tonları ve kenar yumuşatma ile . Kısmi şeffaflık, filigran veya başka bir logo gibi bir resmi daha az belirgin hale getirmek için de kullanılabilir; ya da bir video oyununda hayaletimsi bir görüntü gibi şeffaf bir şey yapmak için. Alfa kanalını bir görüntü düzenleme programında canlandırmak, farklı görüntüler arasında yumuşak geçişlere izin verebilir.

Kısmen saydam bir rengi arka planıyla birleştirme işlemi ("birleştirme") genellikle tam olarak tanımlanmamıştır ve sonuçlar her durumda tam olarak aynı olmayabilir. Örneğin, renk düzeltmenin kullanıldığı yerlerde, renkler renk düzeltmeden önce mi sonra mı birleştirilmelidir?

Bu görüntü, yukarıdaki şeffaf PNG görüntülerinin her birinin #6080A0 arka plan rengi üzerine bindirilmesinin sonuçlarını gösterir. Ortadaki görüntünün harfleri üzerindeki gri saçaklara dikkat edin.
Bu, örneğin düzenlerken yukarıdaki resimlerin nasıl görüneceğini gösterir. Gri ve beyaz kontrol deseni şeffaflığa dönüştürülür.

Kırpma yolu ile şeffaflık

Tam şeffaflığa alternatif bir yaklaşım, Kırpma yolu kullanmaktır . Kırpma yolu, diğer grafiklerle birlikte kullanılan bir şekil veya anahattır. Yolun içindeki her şey görünür ve yolun dışındaki her şey görünmezdir. Yol, doğası gereği vektördür, ancak potansiyel olarak hem vektör hem de bitmap verilerini maskelemek için kullanılabilir. Kırpma yollarının ana kullanımı PostScript dosyalarındadır.

Birleştirme hesaplamaları

Bazı saydamlık özellikleri belirsiz olsa da, diğerleri iki rengin nasıl birleştirileceğinin matematiksel ayrıntılarını verebilir. Bu, birleştirme hesaplamalarının nasıl çalışabileceğine, beklenen sonuçları üretebileceğine ve ayrıca sürprizler üretebileceğine dair oldukça basit bir örnek verir.

Bu örnekte, iki gri tonlamalı renk birleştirilecektir. Gri tonlama değerleri, 0.0 (beyaz) ile 1.0 (siyah) arasındaki sayılar olarak kabul edilir. Vurgulamak gerekirse: Bu, şeffaflık için yalnızca bir olası kuraldır. Şeffaflıkla çalışıyorsanız, durumunuz için kullanılan kuralları kontrol edin.

G1 ve G2 renginin birleştirileceği bir noktadaki renk ( G1 + G2 ) / 2. Bunun bazı sonuçları şunlardır:

  • Renklerin eşit olduğu yerde sonuç aynı renktir çünkü ( G1 + G1 ) /2 = G1.
  • Bir rengin (G1) beyaz (0.0) olduğu yerde sonuç G2 / 2. Bu her zaman G2'nin sıfır olmayan herhangi bir değerinden küçük olacaktır, bu nedenle sonuç G2'den daha beyazdır. (G2'nin beyaz olduğu durumda bu kolayca tersine çevrilir).
  • Bir rengin (G1) siyah (1.0) olduğu yerde sonuç ( G2 + 1 ) / 2. Bu her zaman G2'den daha fazla olacaktır, bu nedenle sonuç G2'den daha siyahtır.
  • Formül değişmeli olduğundan beri ( G1 + G2 ) / 2 = ( G2 + G1 ) / 2. Bu, iki grafiğin hangi sırayla karıştırıldığı önemli değil, yani hangisinin üstte ve hangisinin altta olduğu anlamına gelir.
  • Formül birleştirici değil çünkü
( ( G1 + G2 ) / 2 + G3 ) / 2 = G1 / 4 + G2 / 4 + G3 / 2
( G1 + ( G2 + G3 ) / 2 ) / 2 = G1 / 2 + G2 / 4 + G3 / 4

Bu, saydamlık için üç veya daha fazla nesneyi bu kuralla birleştirirken, son rengin büyük ölçüde hesaplamaların sırasına bağlı olduğu anlamına geldiği için önemlidir.

Formül basit olsa da ideal olmayabilir. İnsanın parlaklık algısı doğrusal değildir - 0,5'lik bir gri değerinin siyah ve beyazın tam ortasında olduğunu düşünmeyiz. Saydamlık yalnızca kenarları yumuşatmak için kullanıldığında bu tür ayrıntılar önemli olmayabilir, ancak daha karmaşık tasarımlarda bu önemli olabilir. Şeffaflıkla ciddi bir şekilde çalışan çoğu kişinin sonuçları görmesi gerekecek ve ihtiyaç duydukları sonuçlara ulaşmak için renklerle veya (mümkünse) algoritma ile oynayabilir.

Bu formül , formülü her kanala ayrı ayrı uygulayarak kolayca RGB rengine veya CMYK rengine genelleştirilebilir . Örneğin, son red = ( R1 + R2 ) / 2. Ancak tüm renk modellerine uygulanamaz. Örneğin, Lab rengi şaşırtıcı sonuçlar verirdi.

Alternatif bir model, saydamlık için birleştirilecek her öğenin her noktasında 0 ile 1 arasında ilişkili bir renk ve opaklık olmasıdır. Her renk kanalı için şu modelle çalışabilirsiniz: yoğunluk G2ve opaklığa sahip T2bir kanal bir kanalı kaplıyorsa yoğunlukla G1ve opaklık T1sonucu için eşit yoğunlukta kanal olacak (1 - T2) * G1 + G2ve opaklık 1 - (1 - T2) * (1 - T1). Her kanal, kompozisyondan önce karşılık gelen alfa değeriyle çarpılmalıdır (önceden çoğaltılmış alfa olarak adlandırılır ). SVG dosya belirtimi bu tür bir harmanlamayı kullanır ve bu, PDF'de kullanılabilecek modellerden biridir.

Alfa kanalları bu şekilde uygulanabilir, burada alfa kanalı diğer tüm kanallara eşit olarak uygulanacak bir opaklık seviyesi sağlar. Yukarıdaki formülle çalışmak için, dış temsili ne olursa olsun opaklığın 0 ila 1 aralığına ölçeklenmesi gerekir ("RGBA" gibi 8 bitlik örnekler kullanılıyorsa genellikle 0 ila 255).

PDF'de Şeffaflık

PDF standardının 1.4 sürümünden başlayarak ( Adobe Acrobat sürüm 5), saydamlık (yarı saydamlık dahil) desteklenir. PDF dosyalarındaki şeffaflık, yaratıcıların nesnelere gölgeler ekleme, nesneleri yarı saydam yapma ve nesnelerin birbirine veya metne karışmasını sağlama gibi çeşitli efektler elde etmesine olanak tanır. PDF, yalnızca en yaygın ortalama alma yöntemini değil, birçok farklı karıştırma modunu destekler ve örtüşen birçok nesneyi birleştirmeye ilişkin kurallar, seçimlere izin verir (örneğin, bir nesne grubunun arka planla karıştırılmadan önce karıştırılıp karıştırılmadığı veya her nesnenin sırayla karıştırılıp karıştırılmadığı gibi). arka planda).

PDF şeffaflığı çok karmaşık bir modeldir, Adobe'nin orijinal özelliği 100 sayfadan fazladır. Önemli bir komplikasyon kaynağı, farklı renk uzaylarına sahip nesneleri karıştırmanın yanıltıcı ve hataya açık olmasının yanı sıra uyumluluk sorunlarına neden olabilmesidir . PDF'deki şeffaflık, PDF görüntüleyicilerinde onu anlamayan hatalara neden olmayacak şekilde tasarlanmıştır - tüm öğeleri tamamen opak olarak görüntülerler. Ancak, eski görüntüleyicilere, PDF yazıcılarına vb. sahip kullanıcılar orijinal tasarımdan tamamen farklı bir şey görebildiği veya yazdırabildiği için bu iki ucu keskin bir kılıçtı.

PDF şeffaflık modelinin çok karmaşık olması, iyi desteklenmediği anlamına gelir. Bu, RIP'lerin ve yazıcıların genellikle saydamlık içeren PDF'leri yazdırmada sorun yaşadığı anlamına gelir. Bunun çözümü ya görüntüyü rasterleştirmek ya da PDF'ye vektör şeffaflığı düzleştirme uygulamaktır. Ancak vektör şeffaflığı düzleştirme son derece karmaşıktır ve yalnızca birkaç özel paket tarafından desteklenir.

PostScript'te Şeffaflık

PostScript dili PostScript seviyesine bağlı olarak tam (kısmi değil) şeffaflık desteği sınırlıdır. Birçok PostScript uygulamasında bulunan pdfmark uzantısıyla kısmi şeffaflık sağlanır.

Seviye 1

Düzey 1 PostScript, iki yöntemle şeffaflık sunar:

  • Tek bitlik (tek renkli) bir görüntü, maske olarak kabul edilebilir. Bu durumda 1 bitler herhangi bir tek renge boyanabilirken 0 bitler hiç boyanmaz. Bu teknik, birden fazla renge veya vektör şekillerine genellenemez.
  • Kırpma yolları tanımlanabilir. Bunlar, sonraki tüm grafiklerin hangi bölümünün görülebileceğini kısıtlar. Bu, herhangi bir grafik türü için kullanılabilir, ancak 1. seviyede, bir yoldaki maksimum düğüm sayısı genellikle 1500 ile sınırlıydı, bu nedenle karmaşık yollar (örneğin, bir kişinin kafasının bir fotoğrafında saçın etrafını kesmek) genellikle başarısız oldu.

Seviye 2

Düzey 2 PostScript, belirli şeffaflık özellikleri eklemez. Bununla birlikte, desenlerin kullanılmasıyla, herhangi bir vektör veya metin işlemiyle tanımlanan maskeler aracılığıyla rastgele grafikler boyanabilir. Ancak bunun uygulanması karmaşıktır. Ek olarak, bu çok sık uygulama sınırlarına ulaştı ve herhangi bir uygulama programı bu tekniği sunduysa çok az.

3. seviye

Seviye 3 PostScript, herhangi bir raster görüntü için daha fazla şeffaflık seçeneği ekler. Saydam bir renk veya renk aralığı uygulanabilir; veya bir alfa kanalı sağlamak için ayrı bir 1 bitlik maske kullanılabilir.

Encapsulated PostScript

EPS dosyaları, düzey 1, 2 veya 3 olabilen ve yukarıdaki özellikleri kullanan PostScript içerir. Genellikle EPS dosyasının görünümünü ekranda göstermek için kullanılan EPS dosyalarının önizlemelerinde daha incelikli bir sorun ortaya çıkar. Önizlemede şeffaflığı ayarlamak için uygun teknikler var. Örneğin, bir TIFF önizlemesi, bir TIFF alfa kanalı kullanabilir. Ancak, birçok uygulama bu şeffaflık bilgisini kullanmaz ve bu nedenle önizlemeyi bir dikdörtgen olarak gösterir. Photoshop'ta öncülük edilen ve bir dizi baskı öncesi uygulama tarafından benimsenen yarı tescilli bir teknik , kırpma yolunu EPS'nin standart bir konumunda depolamak ve bunu görüntüleme için kullanmaktır.

Ek olarak, EPS önizlemeleri oluşturan programlardan birkaçı, önizlemede saydamlık bilgisi üretecektir.

Bazı programlar, önizlemede tüm beyazları şeffaf olarak ele alarak bu sorunu çözmeye çalışmıştır, ancak bu, bazı beyazların şeffaf olmadığı durumlarda da sorunludur .

Daha yakın zamanlarda, önizlemeyi tamamen yok sayan uygulamalar ortaya çıktı; bu nedenle PostScript'i yorumlayarak önizlemenin hangi bölümlerinin boyanacağı hakkında bilgi alırlar.

Ayrıca bakınız

Referanslar

Dış bağlantılar