EN Bize ulaşın

Flutter’da piksel sanat neden bulanıklaşır ve nasıl çözülür

Piksel sanat kullanan bir oyunu farklı cihazlarda açtığınızda kenarların yumuşadığını görüyorsanız, sorun genellikle üç yerden birinde.

Ölçeklendirme filtresi

Varsayılan doğrusal filtreleme, komşu pikselleri harmanlayarak yumuşak bir görüntü üretir. Fotoğrafta istediğimiz budur, piksel sanatta tam tersi. En yakın komşu filtresine geçmek ilk adımdır.

Tam sayı olmayan ölçek

Görseli 2,37 kat büyüttüğünüzde kaynak pikseller hedef piksellere tam oturmaz ve kenarlarda kayma oluşur. Ölçeği yalnızca tam sayı katlarına izin verecek şekilde sınırlamak gerekir: 2x, 3x, 4x. Ekranda kalan boşluk, arka plan veya kenar çerçevesiyle doldurulur.

Cihaz piksel oranı

Mantıksal piksel ile fiziksel piksel arasındaki oran cihazdan cihaza değişir. Düzeni mantıksal piksele göre kurarsanız, yüksek yoğunluklu ekranlarda yine kesirli ölçek elde edersiniz. Ölçek hesabını fiziksel piksel üzerinden yapmak sorunu kökten çözer.

Pratikte ne yaptık

Yadara’da tüm arayüzü sabit bir taban çözünürlük üzerine kurduk ve ekrana yerleştirirken yalnızca tam sayı katlarını kullandık. Bileşen kütüphanesi bu kuralı kendi içinde uyguladığı için ekran geliştirirken kimsenin ayrıca düşünmesi gerekmiyor.