Jakich rozmiarów najlepiej użyć dla obrazów: background.png, background@2x.png i background@3x.png, jeśli chcemy użyć tego obrazu na przykład do pokrycia pełnej szerokości i połowy wysokości ekranu we wszystkich rozdzielczościach dla Aplikacja portretowa na iPhone'a?
Oto, co mamy teraz:
Device Points Pixels Scale Physical Pixels PPI Ratio Size
iPhone XS Max 896x414 2688x1242 3x 2688x1242 458 19.5:9 6.5"
iPhone XR 896x414 1792x828 2x 1792x828 326 19.5:9 6.1"
iPhone X 812x375 2436x1125 3x 2436x1125 458 19.5:9 5.8"
iPhone 6 Plus 736x414 2208x1242 3x 1920x1080 401 16:9 5.5"
iPhone 6 667x375 1334x750 2x 1334x750 326 16:9 4.7"
iPhone 5 568x320 1136x640 2x 1136x640 326 16:9 4.0"
iPhone 4 480x320 960x640 2x 960x640 326 3:2 3.5"
iPhone 3GS 480x320 480x320 1x 480x320 163 3:2 3.5"
Niektórzy mówią, że dla obrazu od krawędzi do krawędzi (jak baner na dole od lewej do prawej krawędzi ekranu) dla iPhone'a 6 Plus przygotowaliby back@3x.png o szerokości 1242, a dla iPhone'a 6 back@2x.png z szerokość 750, aby dopasować rozmiar ekranu iPhone'a 6, jednak nie sądzę, aby to był dobry pomysł, ponieważ 1242/3 = 414 i 750/2 = 375, więc nazwanie ich jako @ 2x i @ 3x nie ma sensu. A jaką szerokość powinien mieć back.png - 375 czy 414?
Nazwy grafik używają przyrostków @ 2x i @ 3x, więc jeśli na przykład image@3x.png ma rozdzielczość 30x30, to logicznie myśląc image@2x.png powinien mieć rozdzielczość 20x20, a image.png 10x10. Oznacza to, że jeśli chcemy mieć ostry obraz o pełnej szerokości dla każdego ekranu, to prawdopodobnie powinniśmy utworzyć back@3x.png o szerokości 414 3 = 1242px, back@2x.png o szerokości 414 2 = 828px i back.png o szerokości 414px . Oznacza to jednak, że na każdym iPhonie z wyjątkiem iPhone'a 6 Plus będziesz musiał skonfigurować swoje uiimages, aby używały na przykład trybu dopasowywania treści i zostaną one zmniejszone, więc to znowu nie jest idealne rozwiązanie i prawdopodobnie naprawdę spowolniłoby aplikację, jeśli używamy dużo scallingu na starszych urządzeniach.
Jak myślisz, jakie byłoby najlepsze rozwiązanie tego problemu?