Бада вопрос масштабирования

Я разрабатываю приложение для чтения для Bada и у меня глупый вопрос.

Есть ли плавный способ конвертировать pt размер до pixel размер существует?

Я нашел что-то вроде этого, но я все еще надеюсь, что вы могли бы применить некоторую формулу и быть счастливым с этим.

3 ответа

Решение

Точки представляют собой единицу длины в реальном мире (они обычно определяются как 1/72 дюйма), но пиксели не имеют определенного реального размера, поскольку это зависит от разрешения устройства.

Например, пиксели на моем экране имеют ширину около 0,3 мм, а у моего телефона - около 0,15 мм, а ширина "пикселя" моего лазерного принтера - 0,02 мм. Таким образом, чтобы перейти от пикселей к реальным единицам измерения, необходимо разрешение конкретного устройства, то есть отношение пикселей к реальным единицам измерения, которое чаще всего выражается в DPI (точек на дюйм, где "точка" обозначается как "пиксель" для устройств, работающих с пикселями).

При работе с печатающими / сканирующими устройствами важен "размер реального мира", поэтому он почти всегда каким-то образом предоставляется ОС и является правильным; с другой стороны, с экранами ситуация совершенно иная.

В большинстве случаев вас не волнует "реальный размер" материала, отображаемого на экранах, так как никто на самом деле ничего не измеряет на экране. Кроме того, экранные макеты часто частично выполняются в пикселях по разным причинам (простота - первая).

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

По этой причине ОС обычно предоставляет значение DPI для экрана, но в общем случае оно остается равным значению по умолчанию (обычно 72 DPI) независимо от реального подключенного экрана (также во избежание поломки плохо спроектированных интерфейсов), но оставляет его настраиваемым. пользователю, чтобы он мог настроить его на удобное значение.

Что касается Bada, я читал здесь, что ОС не предоставляет ни реального, ни "поддельного" значения DPI, поэтому нет реального способа преобразования точек в пиксели. С другой стороны, вы можете просто использовать обычное значение 72 DPI по умолчанию для ваших конверсий. Обратите внимание, что 72 DPI не было выбрано случайно: поскольку есть 72 пикселя на дюйм и 72 точки на дюйм, вы просто предполагаете, что точка равна пикселю. Не правильно, но в вашем случае "достаточно хорошо".

Предполагать, что 72 DPI для bada не очень хороший выбор, поскольку современные мобильные устройства имеют DPI около 200-300.

К сожалению, Bada хотела пойти по пути iPhone и иметь несколько устройств, и вы бы выпустили свое приложение на каждом устройстве, которое имеет фиксированные функции. Таким образом, вы можете посетить веб-сайт Samsung, узнать реальный размер их экрана. Затем вычислите реальные значения DPI для каждого устройства и сохраните их в таблице. Во время выполнения вы можете получить имя устройства и попытаться найти вашу таблицу.

AFAIK вы должны загрузить свое приложение в магазин bada для каждого устройства в отдельности. И они предполагают, что из Bada SDK вы будете компилировать для каждого целевого приложения. Цель определяется разрешением экрана, и я думаю, вы можете ожидать, что реальный экран будет такого размера.

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

Другие вопросы по тегам