To zależy. Oczywiście bardziej ekonomiczne jest użycie jednego obrazu - lub jednego obrazu na jeden współczynnik proporcji, jeśli obcięcie obrazu spowodowałoby problem.
W przypadku zdjęć, takich jak zdjęcia, może to być całkowicie dopuszczalne, ponieważ tego rodzaju obrazy zwykle nie obejmują funkcji idealnie dopasowanych do pikseli.
Jeśli jednak mamy do czynienia z grafiką - cienkie linie, ostre kontury, doskonałe cechy pikseli - skalowanie może być poważnie szkodliwe dla jakości.
Weź pod uwagę następujący przykład: Wyobraź sobie, że chcesz utworzyć niestandardowe pole tekstowe o stałym rozmiarze. Obszar tekstowy powinien być otoczony czarnym konturem o szerokości linii 1 piksela. Używasz rozdzielczości siatkówki dla twojej grafiki, a twoim punktem startowym jest rozmiar ekranu 4 ". Jak będzie wyświetlane okno na innych rozmiarach ekranu, pod warunkiem, że pole tekstowe będzie skalowane razem z ekranem? -retina display?
Non-Retina: rozdzielczość musi być zmniejszona o połowę Wyobraź sobie blok 2x2 pikseli w twojej grafice - będzie to musiało być wyliczone w pojedynczy piksel. Nasz kontur ma tylko 1 piksel szerokości, więc 2x2 blok pikseli z linią przebiegającą przez niego zawiera dwa czarne i dwa białe piksele, w wyniku czego skalowanie jest nieco bardziej skomplikowane, ale wynik będzie rozmyta, mniej czarna i nieco grubsza
Skalowana siatkówka: Rozdzielczość musi zostać zwiększona. Wyobraź sobie urządzenie z funkcją res olizacja 1,5 x ekran 4 ". Linia 1px musiałaby mieć szerokość 1,5 piksela, co oczywiście nie zadziała. Zamiast tego oryginalna linia 1px zostanie rozciągnięta do skali szarości przez dwa (lub więcej) pikseli, przybliżając "ilość czerni", jaką miałaby linia 1,5px.
Skalowanie w jedną stronę (w górę lub w dół) spowoduje, że kontur będzie rozmazany, grubszy i mniej czarny.
Ten przykład nie jest idealny, ponieważ iOS pozwala definiować obrazy za pomocą rozciągliwych części, które doskonale skalują się. W naszym prostokątnym pudełku byłoby to możliwe. Nie działa to jednak w przypadku bardziej złożonych prac.
Jeśli piksel doskonałość jest koniecznością, nie ma sposobu, wokół obrazów dla każdej rozdzielczości lub grafiki wektorowej (kwarc/SVGKit/...)
Edit: Mam powielana moim przykładem w Photoshopie przy użyciu skalowania bilinear . Może wyglądać nieco inaczej na urządzeniu, ponieważ może użyć innego algorytmu skalowania. Ale myślę, że dostaniesz punkt ...
Możesz utworzyć wszystkie swoje obrazy dla 3x i stukrotnie w dół. Na przykład: 150x150 = 3x, 100x100 = 2x, 50x50 = 1x. Jeśli nie masz do czynienia z setkami obrazów, takich jak sekwencje, zmniejszanie skali to nie tyle praca, co wyniki. – sangony