Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   пикселы и миллиметры (https://javascript.ru/forum/misc/17654-piksely-i-millimetry.html)

KOLANICH 27.05.2011 20:46

пикселы и миллиметры
 
как перевести миллиметры в пикселы на канвасе
есть картинка
она подгружается в канвас
из объекта картинки мы можем получить кол-во точек по вертикали и горизонтали
нужно перевести пиксели в миллиметры и обратно

KOLANICH 27.05.2011 20:57

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()));

KOLANICH 27.05.2011 22:19

хмм, это не то

DreamTheater 27.05.2011 22:43

У разных дисплеев пиксели могут иметь разные физические размеры, поэтому перевести пиксели в милиметры можно только в привязке к конкретному дисплею.

KOLANICH 27.05.2011 23:28

мне нужно в привязке к изображению
то есть я генерю картинку, которую в последствии нужно напечатать
причём элементы на картинки должны быть строго определённых размеров

DreamTheater 28.05.2011 00:03

Обычные разрешения принтера 300/600/1200 точек на дюйм, можете посчитать сколько это в миллиметрах.

Serg_pnz 28.05.2011 00:08

А юзер поставит "печать всего на одной странице" и привет Вашим стараниям.
Хотя где-то мне попадались размеры А4 в пикселях при 72dpi (есть мнение, что при 96dpi), погуглите (по моим прикидкам 210 мм это около 850 пикс (тестил лисой и шириной таблицы)).
Как вариант можно попробовать еще pdf генерить, но там тоже есть опция "вписать в страницу".

upd: попробуйте эти размеры 794*1123. Не забуду в понедельник потестирую на работе на других принтерах и браузерах - самого иногда этот вопрос занимает.

Вот ссылки для общего развития, что точного значения не получить:
http://www.artlebedev.ru/kovodstvo/sections/69/
http://www.artlebedev.ru/kovodstvo/sections/70/

Aetae 28.05.2011 00:35

pixels = (mm * dpi) / 25.4

2 минуты гугля


Часовой пояс GMT +3, время: 20:02.