Бада вопрос масштабирования - PullRequest
0 голосов
/ 20 мая 2011

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

Существует ли плавный способ преобразования pt размера в pixel размер?

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

Ответы [ 3 ]

2 голосов
/ 20 мая 2011

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

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

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

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

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

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

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

1 голос
/ 07 января 2012

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

0 голосов
/ 10 января 2012

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

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

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

...