Kích thước nào là tốt nhất để sử dụng cho hình ảnh: background.png, background@2x.png và background@3x.png nếu chúng ta muốn sử dụng hình ảnh này để bao phủ toàn bộ chiều rộng và nửa chiều cao của màn hình trên tất cả các độ phân giải cho ứng dụng chân dung iPhone?
Đây là những gì chúng ta có bây giờ:
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"
Một số người nói rằng đối với hình ảnh từ cạnh sang cạnh (như biểu ngữ ở dưới cùng từ cạnh trái sang phải của màn hình) cho iPhone 6 Plus, họ sẽ chuẩn bị back@3x.png với chiều rộng 1242 và cho iPhone 6 back@2x.png với chiều rộng 750 để phù hợp với kích thước màn hình iPhone 6 tuy nhiên tôi không nghĩ rằng đây là một ý tưởng hay vì 1242/3 = 414 và 750/2 = 375 nên việc đặt tên chúng là @ 2x và @ 3x là không hợp lý. Và sau đó chiều rộng nào nên có back.png - 375 hoặc 414?
Tên đồ họa đang sử dụng hậu tố @ 2x và @ 3x, vì vậy nếu ví dụ: image@3x.png có độ phân giải 30x30 thì theo suy nghĩ logic image@2x.png phải có độ phân giải 20x20 và image.png phải là 10x10. Điều này có nghĩa là nếu chúng ta muốn có hình ảnh toàn chiều rộng sắc nét cho mỗi màn hình thì có lẽ chúng ta nên tạo back@3x.png với chiều rộng 414 3 = 1242px, back@2x.png với chiều rộng 414 2 = 828px và back.png với chiều rộng 414px . Tuy nhiên, điều này có nghĩa là trên mọi iPhone, ngoại trừ iPhone 6 Plus, bạn sẽ cần phải thiết lập các uiimages của mình để sử dụng như chế độ nội dung phù hợp với khung hình và chúng sẽ bị thu hẹp lại vì vậy đây không phải là giải pháp lỗi và có thể sẽ thực sự làm chậm ứng dụng nếu chúng tôi sử dụng rất nhiều scalling trên các thiết bị cũ hơn.
Vậy bạn nghĩ đâu sẽ là giải pháp tốt nhất để giải quyết vấn đề này?