Если вы делаете это в javascript / mootools, CSS-единицы - ваш друг. Вы можете указать размеры в дюймах, сантиметрах или даже точках (1/72 дюйма). Если по какой-либо причине вам абсолютно необходим DPI, несмотря на то, что вы можете указать размеры в этих единицах, просто измените размер используемого вами div с изменяемым размером на известный размер и рассчитайте его из переведенного размера пикселя.
Edit:
К сожалению, единицы измерения CSS
точки, см, а в не являются физически
правильный. Они только относительно
правильный. Это было первое, что я
пытался, пока я не понял, что это не так
работает и проверил спецификацию CSS .. чтобы
моя тревога. - Брэндон Пелфри
Это хороший момент; браузеры, как правило, имитируют его, принимая значение DPI по умолчанию (я думаю, 72 или 96) и продолжая это.
Ну, если вам нужна точная калибровка, как вы просите, вам не повезло. Вы никогда не сможете получить его, не прочитав ни текущее разрешение монитора, в котором включен браузер, ни «видимую область экрана» этого монитора. Ты не получишь это с помощью Javascript.
Я предлагаю вам сделать предположение по умолчанию, что браузеры делают и размер в соответствии с единицами CSS. Затем вы можете разрешить своим пользователям «регулировать размер», используя метод, который вы упомянули, но , только если это необходимо . Сделайте это на отдельной странице с вычислением DPI, сохраненным как часть сеанса пользователя или в виде файла cookie.
Кроме того, как только Microsoft исправит эту ошибку , вы можете использовать «независимые от устройства единицы измерения» Silverlight для точного масштабирования.