Bir PNG'yi ICO dosyasına nasıl çeviririm?
PNG'yi bu sayfaya bırakın, 16, 32 ve 48 piksel işaretli kalsın ve sonucu indirin. Her şey tarayıcıda çalışır, dolayısıyla görsel hiçbir zaman yüklenmez. Komut satırındaki alışılmış karşılığı magick logo.png -define icon:auto-resize=48,32,16 favicon.ico komutudur.
Simgem küçük boyutlarda neden bulanık görünüyor?
Neredeyse her zaman dosyada tek bir büyük görsel bulunduğu ve küçük olan her şeyin tarayıcının onu anlık küçültmesi olduğu için. Piksel ızgarası küçüldüğü anda kayıpsız diye bir şey kalmaz: ince çizgiler ve ayrıntı, yeniden örnekleme ne kadar iyi olursa olsun yaklaşık 24 pikselin altında kaybolur, yani kaliteyi dönüştürücü değil hangi boyutların paketlendiği belirler. Gerçek bir 16 piksellik katman paketleyin; logo ayrıntılıysa o katman için çizimi ölçeklemek yerine sadeleştirin.
İçerideki görseller PNG mi olmalı, sıkıştırılmamış BMP mi?
Aksini gerektiren bir nedeniniz yoksa PNG: bir büyüklük mertebesi daha küçüktür ve bugünkü her tarayıcı ile Vista'dan beri her Windows sürümü onu okur. Sıkıştırılmamış bitmap'ler yine de sahada daha yaygın tercihtir — büyük ölçüde ImageMagick varsayılan olarak onlara çevirdiği için — ve çok eski yazılımlar söz konusuysa daha güvenli seçimdir. Sayfa iki dosya boyutunu da gösterir, böylece kararı sayıya bakarak verebilirsiniz.
Neden 512 piksel seçeneği yok?
Dizin her kenar uzunluğunu tek bir baytta saklar, dolayısıyla ifade edebileceği en büyük değer 255'tir ve 0, 256 anlamına gelmek üzere ayrılmıştır. 512 yazmanın hiçbir yolu yoktur. Bu seçeneği sunan dönüştürücüler, arkasındaki görseli betimlemeyen bir dizin girdisi üretir; bu da bazı yazılımların göstermeyi reddettiği bir simge elde etmenin iyi bir yoludur.
Şeffaf arka planı olan bir PNG, ICO'ya dönüştüğünde saydam kalır mı?
Evet. Alfa kanalı eksiksiz yazılır ve eski yazılımların onun yerine okuduğu bir bitlik maske, boş bırakılmak yerine alfa kanalından türetilir — şeffaf arka planın bazı araçlarda siyah kareye dönüşmesinin nedeni tam da bu maskenin boş bırakılmasıdır. Kısmen saydam bir piksel, alfası yarının altına düştüğünde maskede saydam sayılır; maske piksel başına tek bit olduğu için mevcut tek seçenek budur.
Bir SVG'yi ICO'ya çevirebilir miyim?
Evet ve vektör bir kaynak mümkün olan en iyi girdidir, çünkü her boyut bir bitmap'ten yeniden örneklenmek yerine geometriden çizilir. Tek uyarı: SVG'nin ağ üzerinden çektiği her şey — bağlantılı bir görsel, uzak bir yazı tipi, dışarıdan alınan bir stil dosyası — dönüştürme sırasında hata vermeden engellenir. Sayfa bu referansları denetler ve sizi uyarır.
Site kökünde hâlâ bir favicon.ico gerekiyor mu?
Bulundurmakta yarar var ama artık asıl yol o değil. HTML şartnamesi, tarayıcıların /favicon.ico dosyasını isteyebileceğini ve bunu yalnızca sayfada hiçbir simge link elemanı yokken yapacağını söyler. Tarayıcılara önce kullanmaları söylenen şey bir link elemanıdır; kökteki dosya ise besleme okuyucularını, tarayıcı botlarını ve HTML'inizi hiç ayrıştırmayan her şeyi karşılar.
Google arama sonuçları için ICO dosyası ister mi?
Hayır. Google'ın favicon belgeleri BMP, GIF, ICO, PNG, JPEG, PPM ve TIFF biçimlerini kabul eder, en az 8 piksellik kare bir görsel ister ve farklı yüzeylerde doğru görünmesi için 48 pikselin üzerine çıkmayı önerir. Tek bir büyük PNG bunu karşılar; .ico ise geri kalan her şey içindir.
Bir .ico dosyasını açtığımda tarayıcım neden tek bir boyut gösteriyor?
Çünkü bir görsel elemanının size verebileceği tek şey bu. Çok boyutlu bir .ico dosyasını bir tarayıcıya verdiğinizde o tek bir görsel seçer — pratikte en büyüğünü — ve geri kalanına erişilemez. Her katmanı listelemek kapsayıcıyı doğrudan ayrıştırmayı gerektirir; bu sayfadaki ICO → PNG sekmesinin yaptığı da budur.
Dizin ile görselin boyut konusunda anlaşamaması ne anlama gelir?
Dosyanın kendi içinde tutarsız olduğu anlamına gelir ve çözücüler bunu birbirinin tam tersi biçimde ele alır: kimisi dizine güvenip hiçbir şey çizmez, kimisi görsel verisine güvenip düzgün gösterir. Bir simgenin bir makinede çalışıp başka birinde görünmemesinin klasik nedenidir; bu yüzden bir dosya açtığınızda sayfa bunu işaretler.
Bu araç, başka dönüştürücülerin reddettiği ICO dosyalarını açabilir mi?
Çoğu zaman evet. Palet bitmap'i olarak saklanan katmanları — piksel başına dört ya da sekiz bit — birkaç tanınmış favicon hâlâ kullanıyor ve pek çok dönüştürücü bunları doğrudan reddediyor. Bozuk katmanlar da teker teker ele alınır, dolayısıyla okunamayan tek bir boyut geri kalanın dışa aktarılmasını engellemez. Liste ayrıca Firefox'un atacağı gömülü PNG katmanlarını da işaretler: ICO çözücüsü yalnızca 8 bitlik RGB ya da RGBA kabul ettiğinden palet ya da gri tonlamalı bir PNG orada kaybolur. Mozilla'nın kendi sitesi tam da bu sorunu taşıyan bir simge yayınladı — 64 piksellik katmanı, Firefox'un kendisinin attığı bir palet PNG'si; simgeyi görünür tutan yalnızca diğer katmanlar.
Görselim bir yere yükleniyor mu?
Hayır. Dosya tarayıcının File API'si ile okunur, bu sayfadaki bir canvas üzerine çizilir ve yerel olarak çalışan JavaScript tarafından kapsayıcıya paketlenir. Hiçbir istek görseli bir yere taşımaz; bunu geliştirici araçlarınızın ağ panelinden doğrulayabilir ya da sayfa yüklendikten sonra bağlantıyı kesip çevrimdışı dönüştürerek görebilirsiniz.