Najlepsze praktyki dotyczące rozmiaru obrazu dla aplikacji mobilnych

Buduję aplikację mobilną, która będzie kierowana na telefony iPhone / iPad i telefony z systemem Android. Aplikacja będzie wymagała od użytkowników robienia zdjęć i przesyłania na mój serwer, a później użytkownicy będą mogli oglądać te zdjęcia na swoich urządzeniach mobilnych (chociaż niekoniecznie będą to ich własne zdjęcia, więc użytkownik Androida może oglądać zdjęcie zrobione za pomocą iPhone'a) ).

Jakie rozmiary powinienem zapisać zdjęcia, aby móc pokryć większość przypadków użycia? iPady są 1,333 W / H, większość telefonów komórkowych 1,5 lub 1,333 W / H, a niektóre rzadko 1,666 W / H. Konkretnie:

iPad: 1024x768, iPad3: 2048x1536, iPhone i niektóre inne telefony: 960x640, 480x320, 800x480.

Aby móc zarządzać, muszę wybrać kilka rozmiarów obrazu i zapisać zdjęcia w tych rozmiarach. Nie szukam pomocy po stronie technicznej. Mogę zrobić skalowanie obrazu po stronie serwera itp. Szukam zaleceń / najlepszych praktyk / wyciągniętych wniosków na temat rozmiarów obrazów, zanim zajdę za daleko, aby je zbudować.

Jakie rozmiary należy zapisać zdjęcia, aby pokryć większość przypadków użycia?Czy polecasz skalowanie po stronie klienta przed przesłaniem na serwer, aby zaoszczędzić na czasie przesyłania (na przykład skalowaniu zdjęć iPada 2048x1536) lub czy powinienem zawsze przesyłać oryginały?Jak radzić sobie z niezgodnymi rozmiarami obrazów (np. Pokazując zdjęcie zrobione za pomocą iPada na urządzeniu z Androidem)? Czy powinienem wstępnie wyciąć te obrazy na moim serwerze przed wysłaniem ich do klienta, czy powinienem pozwolić, aby telefon klienta obsługiwał zmianę rozmiaru obrazu?Istnieje również problem interfejsu użytkownika. Na stronie będą inne rzeczy niż zdjęcie, może przycisk lub dwa do nawigacji. Czy powinienem wybrać coś mniejszego niż pełny ekran, zachowując ten sam współczynnik kształtu podczas zapisywania zdjęć?

Wiem, że niektóre z tych pytań nie mają jednej odpowiedzi, a odpowiedzi są względne, ale chciałem uzyskać kilka opinii. Dzięki.

questionAnswers(2)

yourAnswerToTheQuestion