Po pierwsze, jestem programistą urządzeń mobilnych i ryzykuję opracowanie układu mojej aplikacji od samego początku. Znalazłem następujący problem, Photoshop używa PX jako jednostki miary dla formularzy, a podczas tworzenia aplikacji używa DP, wiem, jak działa konwersja Z PX na PD
dp = px * (160 / dpi)
Jednak kiedy stosuję formułę i używam wartości w programowaniu, układ się psuje, Chciałbym wiedzieć, czy istnieje konfiguracja pliku PSD, taka jak wysokość, szerokość, gęstość pikseli, na której mogę utworzyć makietę mojej aplikacji, aby ułatwić przenoszenie tych pomiarów na telefon komórkowy i tablet?
Odpowiedź
Photoshop używa PX jako jednostki miary dla formularzy i podczas opracowywania aplikacji używa DP, wiem, jak działa konwersja Z PX na DP
Konwersja będzie zależała od n jak skonstruowano oryginalny projekt w Photoshopie. Jednostki dp
Androida to piksele niezależne od gęstości. 1dp może renderować się jako 1 piksel ekranu, 2, 3 lub 4, albo inna wartość, w zależności od urządzenia i ustawień Androida.
Oto lista typowych konwersji:
- 1 dp = 1 piksel lub 1 × dla wyświetlaczy
mdpi
(~ 160PPI). - 1 dp = 1,5 piksela lub 1,5 × , dla wyświetlaczy
hdpi
(~ 240PPI). - 1 dp = 2 piksele lub 2 × dla
xhdpi
wyświetlaczy (~ 320PPI). - 1 dp = 3 piksele lub 3 × dla wyświetlaczy
xxhdpi
(~ 480PPI). - 1 dp = 4 piksele lub 4 × dla wyświetlaczy
xxxhdpi
(~ 640PPI).
Więc najważniejsze pytanie brzmi, jaką gęstość chcesz budować swoje makiety? Możesz wybrać dowolną z powyższych gęstości. Twój wybór będzie podyktowany konwersją i innymi czynnikami.
Wolę projektować w skali 1 ×, w której 1 dp
= 1 px
= 1 CSS px
= 1 iOS point
. Oznacza to, że Twoje makiety mają niższą rozdzielczość niż samo urządzenie, ale oznacza to, że konwersja nie wymaga zmiany wartości.
Gdy skończysz, Photoshop ma kilka sposobów eksportowania zasobów o różnych gęstościach . Export As
i Generator
mogą tworzyć inne skale lub możesz użyć Save for Web
i plasterków ( tak jak ja ).
Oto okno programu Photoshop Eksportuj jako, z eksportowaniem ustawionym na gęstości 1 ×, 2 × i 3 × ( w tym przypadku na iOS).
Odpowiedź
Twój wzór jest nieprawidłowy. Dla porównania, Przewodnik dla programistów Androida mówi:
px = dp * (dpi / 160)
więc rzeczywista formuła dp to
dp = px / (dpi / 160)
Mam nadzieję, że to pomoże!
W drugiej części pytania, Photoshop jest dość uciążliwy, gdy chodzi o eksportowanie zasobów, a nawet połączeń. Jeśli jesteś otwarty na używanie programu Sketch, jest to o wiele łatwiejsze. Ale przepraszam, jako projektant urządzeń mobilnych, prawie nie używam Photoshopa, ponieważ konwersja px na dp nie jest łatwa w tym programie.
Przerobione
Myślę, że teraz lepiej rozumiem twoje pytanie. Poszukaj w tej witrynie wartości, których „szukasz: https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
Komentarze
- Przepraszam, napisałem niewłaściwą formułę w poście, więc użyłem poprawnego wzoru do konwersji, moje pytanie brzmi, jaki powinien być rozmiar pliku, aby może poprawnie wyeksportować wartości. A na Sketch nie mogę tego użyć, system operacyjny to Linux. Aby korzystać z Photoshopa, konieczne było użycie narzędzia o nazwie Wine, które pozwala Photoshopowi działać na Linuksie.
Odpowiedź
To może być nie na temat, ale radziłbym w ogóle nie używać Photoshopa do projektowania ekranu. Użyj narzędzia wektorowego, takiego jak Illustrator, Sketch lub podobnego. Różnica polega na tym, że możesz później skalować swoje projekty. Jeśli pracujesz w Photoshopie w rozmiarze 1x, Twoje projekty będą wyglądać okropnie na nowoczesnym telefonie Andriod. Trzeba by ustawić projekty co najmniej 2x, lepiej 4x, aby wyglądały gładko na ekranie o wysokim ppi.
Również wszystkie zasoby utworzone za pomocą narzędzia wektorowego mogą być później używane jako zasobów dla wszystkich wymaganych rozmiarów. W Photoshopie znacznie więcej pracy będzie wymagało wyodrębnienia przycisków, ikon itp. do późniejszego eksportu.