PNG küçültürken şeffaf kenarlar nasıl davranıyor?
Yue Shu'nun araştırması bir sorunun cevabını somut verilerle ortaya koyuyor: PNG dosyasında şeffaf piksellerin altında saklı renk varsa ve sen o resmi küçültürsen, bu gizli renkler kenar piksellerine sızıyor mu?
Sorun şu: bir PNG'i kesip çıkartırsan (cutout), şeffaf bölgelerin altında genellikle arka plan rengi kalıyor. Resmi yeniden boyutlandırırken bu gizli renkler görünür hale gelebiliyor. Yue, bir portre fotoğrafı (Wikimedia Commons'tan, CC BY-SA 4.0) kullanarak tarayıcı ve Node.js araçlarını test etti.
Sonuçlar şöyle: Canvas'ın drawImage yöntemi premultiplied alpha kullanıyor ve gizli renkleri kenarına sokmamış. createImageBitmap ise premultiplyAlpha parametresine göre değişiyor, 'none' seçeneği ile gizli mavi renkler kenar pikselinde görünüyor. Sharp kütüphanesi (0.35.5) da benzer davranış gösteriyor.
Eğer sen web uygulamasında PNG'leri dinamik olarak küçültüyorsan, bu fark önemli. Özellikle ürün fotoğrafları ya da ikon gibi hassas kesim gerektiren görsellerde kenar renkleri bozulabilir. Test ettiği ortam Apple M4, Chromium 149 ve tek bir çalıştırma olduğu için farklı cihazlarda sonuçlar değişebilir, ama genel davranış bu yöndedir.
0 yorum