Программно определите DPI через браузер?

Драгоценный камень AWS: S3 rails делает это сам по себе:

AWS::S3::S3Object.store("teaser/images/troll.png", file, AWS_BUCKET)

автоматически создаст teaser и images «папки», если они еще не существуют .

18
задан Brandon Pelfrey 1 June 2009 в 18:01
поделиться

4 ответа

Если вы делаете это в javascript / mootools, CSS-единицы вам в помощь. Вы можете указать размеры в дюймах, сантиметрах или даже в точках (1/72 дюйма). Если вам абсолютно необходим DPI по какой-либо причине, даже если вы можете указать размеры в этих единицах, просто измените размер div с изменяемым размером, который вы используете, до известного размера и рассчитайте на основе переведенного размера пикселя.

Изменить:

К сожалению, единицы CSS точки, см и дюймы физически не верный. Они только относительно верный. Это было первое, что я пытался, пока не понял, что это не так работает и проверил спецификацию CSS .. на моя тревога. - Брэндон Пелфри

Это хорошее замечание; браузеры имеют тенденцию подделывать это, принимая DPI по умолчанию (я думаю, 72 или 96) и следуя этому

Что ж, если вам нужна точная калибровка, как вы просите, вам не повезло. Вы никогда не сможете получить его, не имея возможности прочитать текущее разрешение монитора, на котором работает браузер, и «видимую область экрана» этого монитора. Разве вы не получите это через Javascript.

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

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

3
ответ дан 30 November 2019 в 09:41
поделиться

Вы не можете. DPI - это функция разрешения экрана в пикселях и физических размеров дисплея. Последний не доступен ни в одном известном мне браузере.

2
ответ дан 30 November 2019 в 09:41
поделиться

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

0
ответ дан 30 November 2019 в 09:41
поделиться

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

0
ответ дан 30 November 2019 в 09:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: