пикселы и миллиметры
как перевести миллиметры в пикселы на канвасе
есть картинка она подгружается в канвас из объекта картинки мы можем получить кол-во точек по вертикали и горизонтали нужно перевести пиксели в миллиметры и обратно |
function getDpMM(){ var d=document.createElement("DIV"); d.style.width=d.style.height="1mm"; d.style.display="table-cell"; document.body.appendChild(d); var r=d.getBoundingClientRect(); return {"h":r.width,v:r.height}; document.body.removeChild(d); } alert(JSON.stringify(getDpMM())); |
хмм, это не то
|
У разных дисплеев пиксели могут иметь разные физические размеры, поэтому перевести пиксели в милиметры можно только в привязке к конкретному дисплею.
|
мне нужно в привязке к изображению
то есть я генерю картинку, которую в последствии нужно напечатать причём элементы на картинки должны быть строго определённых размеров |
Обычные разрешения принтера 300/600/1200 точек на дюйм, можете посчитать сколько это в миллиметрах.
|
А юзер поставит "печать всего на одной странице" и привет Вашим стараниям.
Хотя где-то мне попадались размеры А4 в пикселях при 72dpi (есть мнение, что при 96dpi), погуглите (по моим прикидкам 210 мм это около 850 пикс (тестил лисой и шириной таблицы)). Как вариант можно попробовать еще pdf генерить, но там тоже есть опция "вписать в страницу". upd: попробуйте эти размеры 794*1123. Не забуду в понедельник потестирую на работе на других принтерах и браузерах - самого иногда этот вопрос занимает. Вот ссылки для общего развития, что точного значения не получить: http://www.artlebedev.ru/kovodstvo/sections/69/ http://www.artlebedev.ru/kovodstvo/sections/70/ |
pixels = (mm * dpi) / 25.4
2 минуты гугля |
Часовой пояс GMT +3, время: 20:02. |