Шрифты в миллиметрах (мм) в flex, как перевести точки в мм? - PullRequest
1 голос
/ 07 февраля 2011

Я - гибкий разработчик, и большую часть времени я имею дело со шрифтами в пунктах, таких как 12, 14, 23 пункта и т. Д.

Теперь пришло требование клиента, которое просит принять размеры шрифтов в миллиметрах (мм).

Я нашел эту формулу для расчета мм, но мне нужно выяснить DPI экрана,

$ мм = ($ пикселей * $ 25,4) / точек на дюйм

Для DPI я использовал flash.system.Capabilities.screenDPI, но я думаю, что это не идеальный способ найти разрешение экрана, так как я читал некоторые блоги, в которых упоминалось, что в результате всегда получается 72.

Я нашел эту формулу для конверсии шрифта, (указать в мм)

1 точка PostScript = 0,352777778 мм

Но это для постскриптумных шрифтов, и я немного запутался, поскольку я использую SWF-файлы для шрифтов (в flex3).

Может ли кто-нибудь здесь подсказать мне, как справиться с подобной ситуацией, а также я взял размер моей стадии проектирования в мм (например, 1000 мм х 1000 мм), поэтому в этом случае я буду использовать коэффициент для уменьшения размера экрана

enter image description here

enter image description here

Это будет размер экрана в 800 x 200 мм, поэтому здесь каждое измерение должно быть в мм, поэтому, пожалуйста, объясните, как справиться с этой ситуацией.

Ответы [ 2 ]

2 голосов
/ 07 февраля 2011

Точка обычно составляет 1/72 дюйма.Поскольку 1 дюйм равен 25,4 миллиметрам, вы можете безопасно преобразовать точку в мм, используя следующую формулу

var nFontSizeInMM:Number = (nFontSizeInPoint / 72) * 25.4;

. Вам не нужно беспокоиться о DPI, поскольку оно имеет значение, только если вы работаете с размером шрифта в пикселях.

Ссылка Wiki

1 голос
/ 07 февраля 2011

К сожалению, Flash всегда скажет вам, что вы работаете с разрешением 72 DPI, в то время как в большинстве систем даже ОС не знает, насколько велик пиксель на самом деле - очень редко люди настраивают «правильно»,тем более, что Windows не очень хорошо работает с людьми, меняющими настройки DPI.

Что мы делаем, так это предполагаем 96 DPI, как это обычно и ожидает Windows.

...