- 0
Размер экрана Получаем разрешение экрана устройства, логические и физические размеры экрана в FireMonkey
-
Похожий контент
-
- 0 ответов
- 920 просмотров
-
- 4 ответа
- 3 522 просмотра
-
Как в программе определить физические размеры экрана устройства?
От Viacheslav,
- Физические размеры
- Размер экрана
- (и ещё 2 )
- 9 ответов
- 8 713 просмотра
-
IFMXMouseService Как получить текущее положение пальца на экране?
От rareMax,
- GetMousePos
- TScreen
- (и ещё 3 )
- 1 ответ
- 6 885 просмотров
-
TWebBrowser [TWebBrowser] Отображение html-страницы в WebBrowser из текстовой переменной до XE7
От 97mik,
- HTML
- Веб браузер
- (и ещё 1 )
- 1 ответ
- 5 979 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Brovin Yaroslav
Введение
Появление экранов повышенной плотность физических точек, привело с одной стороны к проблеме адаптации графического интерфейса под разные разрешения экранов при их одинаковых физических размерах, с другой к увеличению четкости и качества картинки.
Например, если раньше на iPhone 3 при размере экрана 3,5 дюйма позволял отобразить 320х480 точек, то на устройстве iPhone 4 при таком же физическом размере экрана, экран мог уже отображать 640х960 точек. Это хорошо видно на увеличенном изображении обычного экрана и ретина экрана на рисунке ниже (слева - не ретина, справа - ретина (2х)). Справа количество физических точек ровно в четыре раза больше, чем слева:
Для разработчика это могло означать, что интерфейс привязанный к разрешению 320х480 на Retina экране будет занимать только четверть экрана. Естественно, что использование разрешения экрана в физических координатах не удобно с этой точки зрения. Именно по этому появились логические координаты, которые гарантируют, что тот же пользовательский интерфейс для iPhone 3, будет иметь такие же размеры (физические) и на экране с ретиной.
FireMonkey работает в логических координатах. Это означает, что на iPhone 3 - 4 мы работаем с логическим разрешением 320x480 точек. Однако, при отображении интерфейса на iPhone 4 c (с двойной плотностью пикселей по сравнению с iPhone 3), интерфейс автоматически масштабируется на физическое разрешение 640х960 с коэффициентом масштабирования равным 2.
Практика
Теперь посмотрим, как получить всю эту информацию. Вся информация об экране (логический размер и коэффициент масштабирования) находится в сервисе IFMXScreenService.
Чтобы получить физическое разрешение экрана, нужно логический размер умножить на коэффициент масштабирования.
Код ниже показывает, как получить доступ к этому сервису и извлечь требуемые параметры:
Результат кода приведен на снимке экранов ниже для iPad устройств с ретиной экраном и без:
Ссылка на комментарий
2 ответа на этот вопрос
Рекомендуемые сообщения