Как узнать dpi экрана
Перейти к содержимому

Как узнать dpi экрана

  • автор:

Как узнать DPI дисплея?

Может я чего-то недопонимаю: есть ли разница между DPI дисплея и настройкой DPI разрешения шрифтов в гноме? Вопрос возник потому, что если самому считать то получается (1280х800)/(13″х8.25″)=~9548 точек, а нужно где-то 72-96 точек.

ViTeX ★★★★
( 24.09.07 21:45:09 MSD ) автор топика
Ответ на: комментарий от ViTeX 24.09.07 21:45:09 MSD

>если самому считать то получается

А ты считай правильно: 1280/13″ = 98, 800/8.25 = 97 итого: ~96 dpi

manntes ★★
( 24.09.07 21:50:56 MSD )
Ответ на: комментарий от manntes 24.09.07 21:50:56 MSD

А спасибо, доперло, что это за разрешение!

Android — советы и подсказки. Как узнать DPI вашего смартфона или планшета для скачивания подходящих версий APK файлов для них

Большинству более или менее опытных пользователей Android устройств хорошо известно, что устанавливать игры и приложения на них можно не только из онлайн магазина Google Play Маркет, но и из APK файлов, которые можно скачать с различных ресурсов.

Android — советы и подсказки. Как узнать DPI вашего смартфона или планшета для скачивания подходящих версий APK файлов для них

Однако, зачастую они испытывают затруднения в том, чтобы скачать правильный APK файл для смартфона или планшета, оптимизированный под размер и разрешение его экрана или — плотность упаковки пикселей, которая обозначается аббревиатурой DPI. Сегодня я хочу поделиться с вами одним из способом, позволяющим узнать значение DPI дисплея вашего Android устройства.

Сделать это очень и очень просто.

Прежде всего вам нужно будет установить на свой смартфон или планшет бесплатное приложение Display Info от разработчика Stefano Sanna, которое доступно для скачивание с этой страницы Google Play Маркет.

После запуска Display Info отобразит информацию о параметрах дисплея вашего Android устройства (скриншот ниже, слева). Как вы уже поняли, нам потребуется значение DPI, которое отображается в строке «Density».

Теперь зная значение DPI экрана вашего смартфона или планшета, вы можете скачать подходящий вам вариант APK файла. Для этого вам нужно выбрать файл в описании которого DPI равно или выше (ближайшее значение) DPI полученного от приложения Display Info. Пример вы видите ниже:

Android — советы и подсказки. Как узнать DPI вашего смартфона или планшета для скачивания подходящих версий APK файлов для них

Помимо этого, в отдельных случаях, если никакой из имеющихся вариантов вам не подходит, вы можете выбрать APK файл с пометкой «nodpi», который должен быть совместим с любым разрешением дисплея.

Похожие материалы:

Как узнать настоящее разрешение экрана вне зависимости от DPI?

Почти всегда рекомендуют использовать System.Windows.SystemParameters.PrimaryScreenWidth И в обычных ситуациях он у меня показывает реальную ширину в 1920. Однако если я в настройках Винды выберу увеличенный DPI, допустим не 100%, а 125%, то результатом System.Windows.SystemParameters.PrimaryScreenWidth будет уже не 1920, а 1536. В общем, я ищу, как добыть реальное разрешение экрана вне зависимости от DPI. Необходимо для консольной программы.

Отслеживать
20.2k 6 6 золотых знаков 37 37 серебряных знаков 81 81 бронзовый знак
задан 24 дек 2018 в 7:51
331 1 1 серебряный знак 12 12 бронзовых знаков

А зачем его добывать? Кстати, а в манифесте прописать, что твоя программа сама разбирается с масштабированием — не поможет? Или тебе не для этого?

24 дек 2018 в 9:08

Масштабирование моей программы тут вообще не причём. Кстати, почему-то удалили из вопроса упоминание что мне это нужно для консольной программы.

24 дек 2018 в 10:44
Судя по истории — и не было упоминания, вы его только что добавили.
24 дек 2018 в 11:51
@AK, но была метка, которую удалили. Но вообще да, по ней об этом не догадаешься.
24 дек 2018 в 11:52

При том что в описании метки console сказано что нужно её указывать если речь идёт о консольной программе.

24 дек 2018 в 11:56

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Для WPF (PresentationCore.dll) под .NET 4.6.2+:

var dpi = System.Windows.Media.VisualTreeHelper.GetDpi(new System.Windows.Controls.Control()); var screenRealWidth = SystemParameters.PrimaryScreenWidth * dpi.DpiScaleX; var screenRealHeight = SystemParameters.PrimaryScreenHeight * dpi.DpiScaleY; 

Для версий .NET ниже 4.6.2 несколько сложнее:

var matrixTransform = PresentationSource.FromVisual(visual).CompositionTarget.TransformToDevice; var screenRealWidth = SystemParameters.PrimaryScreenWidth * matrixTransform.M11; var screenRealHeight = SystemParameters.PrimaryScreenHeight * matrixTransform.M22; 

Где visual — любой визуальный элемент, но этот элемент должен быть обязательно загружен, т. е. код сработает только после того как произошло событие Loaded

Для WinForms (System.Drawing.dll, System.Windows.Forms.dll):

float dpiX, dpiY, dpiBase = 96; using (var g = new Control().CreateGraphics()) < dpiX = g.DpiX; dpiY = g.DpiY; >var screenRealWidth = SystemParameters.PrimaryScreenWidth * dpiX / dpiBase; var screenRealHeight = SystemParameters.PrimaryScreenHeight * dpiY / dpiBase; 

Впрочем, вам ничто не мешает подключить библиотеки WPF в WinForms или наоборот, а также любую из них в консольном приложении.

DPI экрана Android-смартфона или планшета: чем проверить быстро и точно?

Говорят, сегодня в мире работает около 24000 различных моделей Android-устройств. При этом каждая из этих систем собрана из разных компонентов и отличается от других, как характеристиками (начиная с DPI экрана и т.д.), так и возможностями.

И в том числе поэтому пользуются такой популярность программные инструменты (которые разрабатывают в том числе и сами компании-производители), которые помимо прочего помогают быстро и просто получить все необходимые данные об аппаратной комплектации того или иного Android-девайса.

И сейчас вкратце расскажем об одной такой полезной мобильной программке, с помощью которой можно быстренько перепроверить такой важный параметр, как плотность пикселей экрана любого смартфона или планшета (а также ридера, плеера и пр.) на Android.

как оперативно проверить DPI экрана Android-смартфона или планшета

Зачем? Ну, к примеру, чтобы знать, какая именно панель установлена на устройстве, оригинальная ли это версия комплектации либо же экран успели поменять, и вместо фирменного установлена похожая панелька с Алиэкспресса.

Это как бы одна из ситуаций, когда один только параметр DPI экрана поможет избежать ненужных проблем в будущем. А есть еще и другие…

Отметим также, что на Play Store разнокалиберных утилиток для проверки аппаратной части смартфона или планшета есть довольно много. Вот только не все пользователи знают, что на этапе поиска такого приложения Play Store автоматом подбирает такие, которые, как считает сам сервис, лучше всего подойдут для конкретного Android-устройства.

Если вдруг перестал звонить LG: проблема с телефоном у Android

  • Как убрать лишний значок VPN со статус-бара в Android (без root)
  • WhatsApp на двух смартфонах: что делать, когда не работает
  • Как изменить DPI экрана смартфона Xiaomi с MIUI 9 без root-а [архивъ]

Потому надо либо заранее знать название приложения и по нему начинать поиск в каталоге Play Store, либо, если там его не оказалось, то точно также, вручную искать его на APKMirror или на других ресурсах.

Но в любом случае следует понимать, что почти все такие инструменты классифицируются по типу процессора или типу панели экрана. Следовательно, их тоже надо знать.

Отсюда — вопрос: как максимально оперативно и получить точную информацию о DPI экрана безо всех заморочек? Значит, отвечаем: приложение называется «DPI Checker» (разработчик TheViciousGames). Скачать его можно с Play Store [ССЫЛКА], есть оно также и на других ресурсах (в т.ч. и на APKMirror)

Прога с открытым исходным кодом, бесплатная, очень легкая (быстро устанавливается и без проблем удаляется) и делает именно то, что надо. То есть, быстро и сразу показывает точное значение плотности пикселей экрана Android-смартфона или планшета.

Более того, DPI Checker также эффективно работает и по ходу настройки и перенастройки значения DPI на смартфоне/планшете. Если DPI меняется, то надо просто нажать кнопку Refresh в меню и прога сразу же покажет новое значение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *