пикселы и миллиметры
как перевести миллиметры в пикселы на канвасе
есть картинка она подгружается в канвас из объекта картинки мы можем получить кол-во точек по вертикали и горизонтали нужно перевести пиксели в миллиметры и обратно |
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, время: 11:33. |