Рассчитать пиксели на основе DPI и физического размера
Я пытаюсь сделать шаблон Evolus Pencil для Android. У моего устройства экран 1,75x2,5625", и я хотел бы подражать этим точным физическим размерам. Из прочтения этого поста: Android разных размеров экрана с одинаковой плотностью, я вижу Physical Size = Pixels / Density. Поэтому, если я создаю изображение, которое ширина 168 пикселей на экране с разрешением 96 точек на дюйм, разве я не должен получить физическое изображение шириной 168/96=1,75"?
Потому что я получаю один около 1,5 ", и я потерян. Я запускаю Ubuntu и подтвердил мой dpi экрана с xdpyinfo как 96x96. Так, какую формулу я могу использовать для этого? Я думал, что можно получить пиксели, необходимые умножением дюймы, которые мы хотим видеть на экране по dpi экрана, но это дает мне 168, упомянутых выше, и, очевидно, не дает мне места.
Кто-нибудь может указать мне правильное направление, я честно ужасен с числами и математикой, поэтому мои извинения, если я пропускаю что-то простое или очевидное.
1 ответ
Вы уверены, что дисплей на самом деле 96 ppi? В соответствии со спецификациями и моими собственными расчетами, ваш Lenovo S10e на самом деле имеет плотность ~116,36 ppi, что, вероятно, является причиной вашей разницы.
Предполагая, что эти спецификации верны:
10,1"диагональ
Разрешение 1024 x 576
Соотношение сторон 16:9 (взято из разрешения выше)
Используя некоторые геометрические формулы, вы можете получить фактическую ширину и высоту монитора как:
Ширина: 8,8"
Высота: 4,95"
Разделив 1024/8,8 и 576/4,95, вы получите 116,36 пикселей на дюйм, а не 96.
Используя это вместо этого, изображение размером 168 пикселей должно отображаться как 168/116,36 или ~ 1,44", что согласуется с вашими результатами. Я бы не стал слишком верить результатам xdpyinfo.:)