Quelles tailles seraient les meilleures à utiliser pour les images: background.png, background@2x.png et background@3x.png si nous voulons utiliser cette image par exemple pour couvrir toute la largeur et la demi-hauteur de l'écran sur toutes les résolutions pour Application de portrait iPhone?
Voici ce que nous avons maintenant:
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"
Certaines personnes disent que pour une image bord à bord (comme une bannière en bas de gauche à droite de l'écran) pour iPhone 6 Plus, ils prépareraient back@3x.png avec une largeur 1242 et pour iPhone 6 back@2x.png avec largeur 750 pour correspondre à la taille de l'écran de l'iPhone 6 mais je ne pense pas que ce soit une bonne idée car 1242/3 = 414 et 750/2 = 375 donc les nommer comme @ 2x et @ 3x n'a pas de sens. Et puis quelle largeur devrait avoir back.png - 375 ou 414?
Les noms graphiques utilisent les suffixes @ 2x et @ 3x, donc si, par exemple, image@3x.png a une résolution de 30x30, alors en pensant logiquement, image@2x.png devrait avoir une résolution de 20x20 et image.png devrait être de 10x10. Cela signifie que si nous voulons avoir une image pleine largeur nette pour chaque écran, nous devrions probablement créer back@3x.png avec une largeur 414 3 = 1242px, back@2x.png avec une largeur 414 2 = 828px et back.png avec une largeur 414px . Cela signifie cependant que sur chaque iPhone, à l'exception de l'iPhone 6 Plus, vous devrez configurer vos images d'interface utilisateur pour utiliser, par exemple, le mode de contenu d'ajustement de l'aspect et elles seront écrasées, ce n'est donc pas une solution parfaite et ralentirait probablement vraiment l'application si nous utilisons beaucoup de scalling sur les appareils plus anciens.
Alors, quelle serait selon vous la meilleure solution pour résoudre ce problème?