png tüfek
Dijital ortamda görüntünün saklanması ve kolayca taşınabilmesi için dizayn edilmiş bir dosya formatıdır.
internet explorer, 7. sürümüne kadar
alpha kanalına destek verememiştir. Bunun için
css'deki filter yöntemi yıllarca kullanılmış ama bu formatı kullanmak isteyen sayısız web arayüz hazırlayıcısı kişiye yetersiz gelmiştir.
gif mekanizması sadece bir rengi şeffaf
(*: transparent)
olarak işaretlemenize izin verir.
Bitmap içinde işaretlediğiniz renge her rastlandığında o anda pikselin arka planında kalan piksel rengi neyse, o ekrana yansıtılır.
png algoritması,
(*: rgb)
renk bilgisi taşıyan her bir pikseli kodlarken, eğer tanımlanmışsa yanlarına bir de alpha değeri iliştiriverir. 0 ile 100 arasında bir değer alabilir. Yüzde özelliği taşır. Söz konusu pikselin yüzde cinsinden transparanlığı hesaplanırken dikkate alınır.
gif animasyon destekler de png geri kalır mı? Animasyonlu olanı da geliştirilmektedir. Yeni bir teknik olduğu için popüler değildir. Örneğin
mozilla girişimi
firefox ve
thunderbird gibi uygulamalarında bu formata destek vermektedir.
google:
apng
(https://www.google.com.tr/search?q=apng)
png-8, renk paletini de desteklemektedir. Eğer bir resim dosyasında mesela sadece 5 renk kullanacağınız kesinse, dosyayı kullanmadığınız renk ihtimallerini işe katarak şişirmek yerine gereken renkleri çok daha az bir yere kaydeder. Yoğun ziyaretçi alan
web sayfalarının optimizasyonu için oldukça önemli bir avantaj sağlar.
interlaced görüntüleme tekniği de desteklenmektedir. Bu özellik gif formatında da bulunur,
jpeg de bunun bir benzerini kullanır. Görüntünün katman katman kaydına dayanır. Renkler
piksel piksel kayıt edilmek yerine piksel blokları olarak ayrıştırılır. İlk önce büyük bloklar kayda gider. Sonra diğer katmanlara bloklardaki renk değişimleri kademeli olarak kaydedilir. Böylece her bir blok ikili dosya sonuna gelindikçe veri yoğunluğu kazanır. Bu, pratikte ufak da olsa fazladan
sıkıştırma sağlar. Bunun yanında böyle kodlanmış bir dosya bir web sayfasından çağırıldığında bağlantı hızı çok yavaş bile olsa hemen ekranda belirecek ancak çözünürlüğü oldukça düşük görünecektir. Sunucudan fotoğrafın verisini aldıkça kocaman bloklar gittikçe ufalırken, resim daha da belirginleşecektir. Belki de aradığınız resim bu değildi. Tamamen yüklenmesini beklemenize gerek kalmadı o halde. Kapatın gitsin. İşte hem sunuculara, hem yavaş bağlantısı olan insanlara büyük bir kolaylık.
png-8 gife göre evet çoğu zaman daha iyi sıkıştırma sağlar ancak bazen de gif oldukça iyi sıkıştırma sağlayabiliyor. Aslında bunun sebebi, gif algoritmasının yatay
(*: horizontal)
eksende renk taraması yapmasından kaynaklanır. Eğer resminiz yatay eksende birbirine komşu ve aynı renkte pikseller içeriyorsa, teoride gif bu resmi daha iyi sıkıştıracaktır. Oysa dağınık renklerde genellikle png-8 daha güçlüdür.
Ek olarak png-24 kayıpsız sıkıştırma sağlar. Yani en yüksek sıkıştırma oranları bile uygulansa jpeg'de görülen görüntü kalitesindeki bozulmalar olmaz.
bkz
jpeg
Kayıp olayı png-8 ve gif için de kısmen geçerlidir. Bu iki format en fazla 256 adet değişik rengi bir dosyada saklayabildiklerinden, eğer imaj dokusunda 257 renginiz varsa bu 1 tane renk silinecektir. Aslınsa böyle anlatınca pek sorun olmaz gibi gelmiş olabilir ama mesela gerçek renklerle tasarlanmış bir simge'yi saklayacaksanız binlerce renk silinecektir. Bu durumda en son çözüm, ya bitmap
(*: bmp)
kullanmak, ya da png-24 kullanmaktır. Bmp hiçbir sıkıştırmaya tabi tutmadan ham halde veri sakladığı için dosya boyutu şişkin olacaktır. Ancak bmp hiç kullanılmaz diye bir kural yok. Hiçbir işleme tabi tutulmadığı için, dosya aktarma sorunu kısmen az olan işletim sistemleri ve masaüstü yazılımlarda bmp kullanım alanı bulabiliyor. Mesela öyle bir tasarım yapılmıştır ki, dinamik olması istenir. programcı da belli bir dokuyu, dosya formatlarıyla, sıkıştırma algoritmalarıyla boğuşmadan bmp olarak kaydedip programı içine çağırabilir, Orada matrix üzerinde pikselleri işleyip arayüzü kendisi çizebilir. Bu o yazılımın bir takım lisans bedellerinden kurtulması demek.
Özetle aslında her bir formatın kullanılması gereken yer çok değişik olabilmekte ve bu seçimi de dikkatle yapmak çoğu zaman fayda sağlayabilmekte.