HTML+CSS размер картинки в сантиметрах

wwoland

Вопрос простой. Есть некая картинка, очень хочется чтобы при отобрадении в браузере она была определенных размеров в сантиметрах. в html есть у картинки свойства width и height, но они вроде не позволяют исмользовать сантиматры, а только пиксели да проценты. В css есть сантиметры, но свойства width и height напрямую на img не действуют.
Сделел примерно так
  <div style="width:10cm; height: 12cm"><img src="src"/ width="100%" height="100%"></div>

Измерил линейкой - что-то размеры не совем совпадают, хотя, конечно близко :)
Плюс еще вдогонку вопрос, как сделать, чтобы все это потом еще на принтере напечатать и чтобы размеры были нужные :)

okis

Посмотри в отладчике, там может быть какой-нибудь padding или margin вылез.
css для печати:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

wwoland

так картинка больше стала, паддингов вроде нет, так как пробовал на пустой почти странице, но посмотрю внимательнее, спассибо.

uncle17

http://www.realcoding.net/articles/css-edinitsy-izmereniya.h...
Кроме того, браузер сам по себе не в состоянии корректно отобразить величину в реальных единицах. Давайте рассмотрим, почему это происходит. Как известно, изображение на экране монитора строится на основе пикселей. Пиксель является минимальной единицей измерения, то есть не бывает величины 0.5 пикселя. Чтобы отобразить на экране, скажем, два дюйма, операционная система переводит реальную величину в пиксели. И тут вступают в расчет все вышеперечисленные факторы. Во-первых, физические размеры монитора, во-вторых, разрешение монитора, в-третьих, экранное разрешение.
Возьмем конкретный пример. Монитор размером 13 дюймов по горизонтали и 9 дюймов по вертикали с разрешением 1024х768 в операционной системе Windows, то есть с экранным разрешением 96 пикселей на дюйм. Тогда величина два дюйма будет соответствовать 96*2=192 пикселям. Однако реальная высота этих двух дюймов будет (768/9)*2=171 пиксель. То есть получается несоответствие: браузер считает, что два дюйма - это 192 пикселя, а реальный размер двух дюймов на мониторе - 171 пиксель. Таким образом, если вы устанавливаете размер элемента в два дюйма, то на этом конкретном мониторе реальный размер элемента будет равен 2,22 дюйма. В то же время на другом мониторе с другими параметрами реальный размер может быть совершенно иным.
Исходя из всего этого, можно сделать простой вывод: использование в CSS реальных единиц измерения крайне ограничено. Принципиально использовать реальные единицы измерения можно только в том случае, когда известны параметры устройства вывода. Таким устройством может быть принтер, потому что для него известны геометрические размеры страницы и разрешение (например, 300 точек на дюйм и страница формата А4). Однако особого смысла использование реальных единиц и для печати не имеет.

wwoland

Однако особого смысла использование реальных единиц и для печати не имеет.
А обоснование есть?
Насчет остального, собственно я примерно так же и думал. Спасибо.

uncle17

а там дальше написано.
Вкратце - разные браузеры по-своему и на печать выводят

tamusyav

Только вот старовата статья - 2003 год. С тех пор, вроде, многое поменялось, или я неправ?

uncle17

прав, конечно, но только относительно печати.
Относительно мониторов они могут такую ерунду в EDID драйверу отдавать, что ужоснах. По дисплею мерять, конечно же, не стоит

PooH

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

Andbar

Для доступа на сайт, возьмите линейку и измерьте диагональ монитора в дюймах. Затем посмотрите в свойствах экрана разрешение и впишите эти данные в нижеприведённой форме:
Разрешение = [ ___ ] * [ ___ ]
Размер = [ _____ ] дюймов
[ Отправить ]

PooH

разрешение экрана можно вытащить через dom?

PooH

я такую тему не ботал, но наверное, можно вытащить dpi

uncle17

нельзя

Andbar

разрешение экрана можно вытащить через dom?
оказывается можно: screen.width, screen.height. Но вдруг какой-нибудь параноидальный пользователь заблокирует эту информацию (ибо нефиг сайтам об этом знать)?

uncle17

имеется в виду не 1024Х768, а именно dpi, а чом и тред

Andbar

имеется в виду не 1024Х768, а именно dpi, а чом и тред
цитируемый пост я не менял, "dpi" там позже появился. А про dpi, даже если бы было, бесполезно узнавать, ведь его даже ось не знает по нормальному

uncle17

а чом и тред....

uncle17

З.Ы. Как меня задолбали звонки
- Федь, какой размер баннера?
- 250х250
- 72 дпи пойдет?

PooH

оказывается можно: screen.width, screen.height. Но вдруг какой-нибудь параноидальный пользователь заблокирует эту информацию (ибо нефиг сайтам об этом знать)?
это был риторический вопрос
теперь просим пользователя ввести размер моника и кул!

hwh2010

Измерил линейкой - что-то размеры не совем совпадают, хотя, конечно близко
поверти колёсики на мониторе и добейся совпадения :)
Оставить комментарий
Имя или ник:
Комментарий: