Извечный вопрос: что такое DPI? Связь между пикселями, сантиметрами и DPI Помогите, мои системные шрифты не правильного размера.

46.2K

В этой статье мы рассмотрим, как разрешение изображения влияет на качество печати.

Вы когда-нибудь скачивали картинку из Интернета, а затем при печати получали результаты, которые были, ну, меньше, чем вы ожидали? Изображение выглядело великолепно на экране вашего компьютера, но когда вы распечатали его, оно либо выводилось на печать в размере почтовой марки или в нормальном размере, но выглядело размытым или «с кубиками «? Причина в разрешении изображения.

На самом деле, это не совсем справедливо. Это не так, что разрешение изображения специально указывается таким образом, чтобы сделать вас несчастными, когда вы печатаете фото из Интернета. Проблема заключается в том, что большинство фотографий в Интернете имеют очень маленькие размеры в пикселях, как правило, в районе 640 пикселей в ширину и 480 пикселей в высоту. Или даже меньше.

Потому что изображение не должно быть очень большим, чтобы нормально выглядеть на экране компьютера. А также потому, что маленькие изображения загружаются намного быстрее, чем более крупные (это уже совсем другой вопрос, который мы не будем затрагивать в этой статье ).

Так что мы можем сделать, чтобы фотографии, загруженные из Интернета, выглядели при печати как качественные фотографии с цифровой камеры? Ответ — абсолютно ничего. В большинстве случаев интернет-снимки просто не имеют достаточно пикселей, чтобы обеспечить печать с высоким качеством. По крайней мере, если не печатать их в формате почтовой марки. Давайте выясним, почему.

Прежде всего, давайте немного отойдем от темы загрузки изображений из Интернета, так как таковой, и от того, что мы на самом деле в любом случае не должны делать это без разрешения владельца авторских прав. Давайте рассмотрим разрешение изображений в целом.
Термин «разрешение изображения » означает, сколько пикселей вашего снимка будет помещаться на каждом дюйме бумаги при печати.

Очевидно, что, так как ваша фотография имеет фиксированное количество пикселей, чем больше пикселей содержится в одном дюйме, тем меньше изображение будет выглядеть на бумаге. Аналогично, чем меньше пикселей на дюйм при печати, тем больше изображение.

Количество пикселей на дюйм при печати и называется «разрешением изображения «. Разрешение изображения определяет качество печати изображения. Оно не имеет ничего общего с тем, как изображение выводится на экране компьютера. Поэтому фото, загруженные из Интернета, как правило, имеют гораздо более высокое качество на экране, чем когда вы выводите их на печать.

Давайте в качестве примера рассмотрим фотографию:

Не слишком качественное фото лошади

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

Либо так, либо она отчаянно пытается мне улыбнуться. В любом случае, этой лошади уже неловко, что я застал ее в такой момент. Давайте используем это изображение в качестве примера.

Во-первых, давайте посмотрим, что Photoshop может рассказать нам о текущем размере этой фотографии. Я захожу в меню «Изображение » в верхней части экрана и выбираю пункт «Размер изображения », после чего появляется диалоговое окно с соответствующим названием «Размер изображения «:

Диалоговое окно «Размер изображения» показывает нам текущий размер фото

Диалоговое окно «Размер изображения » делится на две основные части: «Размеры в пикселях » в верхней части и «Размер документа » непосредственно под ней.

«Размеры в пикселях » указывают, сколько пикселей содержит наше изображение. «Размер документа » сообщает нам, насколько большим изображение будет выглядеть на бумаге, если мы распечатаем его. Если мы посмотрим на раздел «Размеры в пикселях », то видим, что эта фотография имеет ширину 1200 пикселей и высоту 800 пикселей. Это может показаться огромным количеством пикселей (1200 на 800 = 960000 пикселей !).

И это, конечно, было бы так, если бы мы отображали изображение на экране компьютера. В самом деле, в 1200 на 800, это может быть слишком большим изображением, чтобы уместиться полностью на вашем мониторе!

Но только то, что оно выглядит красивым и большим на экране, не означает, что оно будет красивым и большим на печати. По крайней мере, не с высокой степенью качества. Давайте внимательнее посмотрим на то, что говорит нам раздел «Размер документа »:

Раздел «Размер документа» говорит о том, насколько большой или маленькой фотография будет при печати в определенном разрешении

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

В настоящее время у нас установлено значение разрешение в 72 пикселя / дюйм, что означает, что из 1200 пикселей, которые составляют размер от правого до левого края фото (ширину ), на каждый дюйм бумаги будет идти 72 пикселя. И из 800 пикселей, которые составляют размер изображения сверху вниз (высоту ), также на каждый дюйм бумаги будет идти 72 пикселя.

Значение в поле «Разрешение » определяется для ширины и высоты, а не общего количества пикселей. Другими словами, на каждый квадратный дюйм бумаги, по 72 пикселя будет идти на дюйм высоты и ширины. Общее количество пикселей, печатаемых в каждом квадратном дюйме бумаги, в таком случае будет 72 на 72 (72 пикселя по ширине и 72 пикселя по высоте ). Что дает нам 5184 пикселей!

Давайте произведем некоторые простые математические вычисления, чтобы убедиться, что ширина и высота, показываемая нам в разделе «Размер документа » верна. Мы знаем из раздела «Размер в пикселях », что мы имеем 1200 пикселей слева направо и 800 пикселей сверху вниз. Разрешение печати в настоящее время установлено на 72 пикселей / дюйм.

Чтобы выяснить, насколько велико будет наше изображение на печати, нам нужно всего лишь разделить количество пикселей слева направо на 72, что даст нам наш ширину изображения при печати. А также разделить количество пикселей сверху вниз на 72, что даст нам высоту при печати. Давайте сделаем это:

1200 пикселей в ширину, разделенные на 72 пикселей на дюйм = 16,667 дюймов ширины
800 пикселей делится на 72 пикселей на дюйм = 11,111 дюйма высоты

Исходя из наших собственных простых вычислений, при разрешении 72 пикселя / дюйм (ppi для краткости ), наше изображение при печати будет иметь 16,667 дюймов в ширину и 11,111 дюймов в высоту. И если мы посмотрим на раздел «Размер документа » еще раз:

Подтверждение размеров печати в разделе «Размер документа»

Это именно то, что здесь указано! Ничего себе, фото 1200 на 800 пикселей является достаточно большим для того, чтобы распечатать его в размере 11 на 14 дюймов, мы даже можем его немного уменьшить! Замечательно!

К сожалению, нет. Если бы в жизни все было так просто.

Дело в том, что 72 пикселей на дюйм не достаточно, чтобы дать нам на печати резкое, хорошего качества, профессионально выглядящее изображение. Даже близко нету. Чтобы дать Вам представление о том, что я имею в виду, вот грубое приближение того, как фото будет выглядеть на бумаге, если бы мы попытались распечатать его с разрешением 72 пикселя на дюйм.

Вы должны будете немного использовать свое воображение. Попробуйте представить себе, что это 11 на 16 дюймов:

Как будет выглядеть фото на бумаге при печати в разрешении всего лишь 72 пикселя на дюйм

Выглядит не слишком хорошо, не так ли? Проблема в том, что 72 пикселя на дюйм дают слишком мало информации об изображении, чтобы распечатать на бумаге резкое и четкое фото. Как будто на большой кусок тоста намазали слишком мало арахисового масла. Фото теперь выглядит размыто, скучно и вообще непривлекательно.

Мы не видим этого на экране компьютера, потому что компьютерными мониторами, как правило, называют устройства с низким разрешением. Даже фото с относительно небольшими размерами в пикселях, например, 640 на 480, будет отлично смотреться на экране компьютера.

Принтеры, однако, являются устройствами высокого разрешения, и если вы хотите, чтобы ваши фотографии печатались четко и на них были видны все мелкие детали, вам нужно разрешение намного выше, чем 72 пикселя на дюйм.

Так какое максимальное значение разрешения нужно для печати профессионального качества? Принято считать, что это 300 пикселей на дюйм. Печать изображения с разрешением 300 пикселей на дюйм достаточно сжимает пиксели, чтобы сохранить резкость.

На самом деле, 300, как правило, даже немного больше, чем нужно. Вы часто можете видеть фото с разрешением 240 точек на дюйм, без заметной потери качества изображения. Однако профессиональный стандарт — это 300 пикселей на дюйм.

Давайте возьмем то же изображение, с теми же 1200 пикселями ширины и 800 пикселями высоты, а затем изменим разрешение с 72 пикселей на дюйм до 300 пикселей на дюйм, и посмотрим, что получится.

Вот диалоговое окно «Размер изображения » с новым разрешением в 300 пикселей на дюйм. Заметьте, что в разделе «Размер в пикселях » в верхней части у нас по-прежнему значится 1200 пикселей по ширине и 800 пикселей по высоте.

Единственное, что изменилось, это наше разрешение — с 72 до 300:

Разрешение печати было изменено на 300 пикселей на дюйм

То, что разрешение увеличилось с 72 до 300 пикселей на дюйм, означает, что из 1200 пикселей, которые имеет наше изображение в ширину, 300 пикселей печатаются на один дюйм бумаги. И из 800 пикселей высоты 300 печатаются на каждый дюйм бумаги по высоте. Естественно, с таким большим количеством пикселей на каждый дюйм бумаги, фотография на печати будет намного меньше.

И, конечно, в разделе «Размер документа» теперь значится, что наше фото будет печататься в размере всего 4 дюйма в ширину, 2,667 дюйма в высоту:

Фото теперь будет печататься в гораздо меньшем размере, чем прежде

Откуда же взялись эти новые значения ширины и высоты? Опять же, немного простой математики:

1200 пикселей в ширину делится на 300 пикселей на дюйм = 4 дюйма
800 пикселей в высоту делится на 300 пикселей на дюйм = 2,667 дюйма

Фото теперь будет печататься в гораздо меньшем размере, чем это было при разрешении 72 точек на дюйм. Но то, что мы теряем в физическом размере, мы более чем компенсируем за счет качества изображения. При 300 пикселях на дюйм (или даже при 240 пикселях на дюйм ) мы будем наслаждаться четким, профессионального качества результатом:

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

Конечно, большинство людей не печатают свои фотографии в нестандартных форматах, таких как 4 на 2,667. Так как нам убедиться, что мы получим результаты профессионального качества при печати в более стандартном формате, например, 4 на 6? Отличный вопрос, и получить ответ мы можем, снова обратившись к скучной арифметике.

Допустим, вы взяли фотографии с вашего недавнего семейного отдыха, сделанные с помощью цифровой камеры, и вы хотите распечатать некоторые из них на принтере в формате 4 на 6. Теперь мы знаем, что для того, чтобы достичь профессионального качества снимков, мы должны установить разрешение изображений минимум на 240 пикселей на дюйм. Хотя официальный стандарт 300 пикселей на дюйм.

Давайте рассмотрим оба этих значения разрешения, чтобы увидеть, насколько большими должны быть изображения с камеры для того, чтобы распечатать их в хорошем качестве в формате 4 на 6. Во-первых, давайте рассмотрим 240 пикселей на дюйм.

Чтобы выяснить, насколько велики в пикселях должны быть наши изображения, чтобы они печатались в формате 4 на 6 в профессиональном качестве, нам всего лишь нужно умножить 240 на 4 по ширине, а затем 240 на 6 по высоте (или наоборот, в зависимости от того, имеют ли ваши фотографии ландшафтную или портретную ориентацию ).

Давайте сделаем это:

240 пикселей на дюйм х 4 дюйма в ширину = 960 пикселей
240 пикселей на дюйм х 6 дюймов в высоту = 1440 пикселей

Исходя из этих расчетов, мы видим, что для того, чтобы напечатать цифровую фотографию в формате 4 на 6 с разрешением 240 пикселей на дюйм, и чтобы при этом сохранялось отличное качество, размер фото в пикселях должен быть как минимум 960 на 1440. Мы видим также, сколько пикселей должна содержать фотография в целом, 960 умножить на 1440 дает нам 1382400 пикселей.

Давайте округлим это значение до 1400000 пикселей. Это может показаться слишком большим числом, но на самом деле так и есть. 1,4 миллиона — это минимальное количество пикселей, которое необходимо, чтобы напечатать фотографию в формате 4 на 6 при минимально допустимом для нормального качества разрешении 240 пикселей на дюйм.

Хорошая новость заключается в том, что на сегодняшний день большинство цифровых камер на рынке имеют 5 Мп («мега пикселей» или «миллионов пикселей ») и выше. Так что у вас не возникнет проблемы с печатью хорошего качества в формате 4 на 6 даже при разрешении 300 пикселей на дюйм.

Конечно, мы еще не подсчитали точно, сколько пикселей мы должны иметь, чтобы распечатать фото в формате 4 на 6 с профессиональным качеством при разрешении 300 пикселей на дюйм. Так что давайте сделаем это. Мы будем использовать ту же простую формулу, которая была описана выше.

Мы умножим 300 на 4, а затем 300 на 6, чтобы получить размеры в пикселях, которые нам понадобятся:

300 пикселей на дюйм х 4 дюйма в ширину = 1200 пикселей
300 пикселей на дюйм х 6 дюймов в высоту = 1800 пикселей

Давайте сделаем еще одно быстрое вычисление, чтобы узнать, сколько пикселей нам нужно в общей сложности:

1200 пикселей в ширину умножаем на 1800 пикселей в высоту = 2160000

Итак, для того, чтобы напечатать фотографии в формате 4 на 6 в хорошем качестве с использованием профессионального стандарта 300 пикселей на дюйм для разрешения, наша фотография должна иметь 1200 пикселей в ширину и 1800 пикселей в высоту (или наоборот ). Это означает, что мы должны в общей сложности иметь 2160000 пикселей. Что опять-таки не должно стать проблемой для большинства цифровых камер на рынке, которые имеют 5Mп и больше.

Но что, если у вас есть фото, которые вы обожаете и считаете, что оно заслуживает того, чтобы распечатать его в формате 8 на 10, а не 4 на 6? Насколько большое изображение должно быть, чтобы при печати в формате 8 на 10 оно выглядело нормально? Ответ на этот вопрос также легко дать, как ранее.

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

Давайте сначала используем разрешение 240 пикселей на дюйм:

240 пикселей на дюйм х 8 дюймов в ширину = 1920 пикселей
240 пикселей на дюйм х 10 дюймов в высоту = 2400 пикселей

Общее количество пикселей = 1920 пикселей в ширину х 2400 пикселей в высоту = 4608000 пикселей.

По результатам вычислений мы видим, что для того, чтобы напечатать фотографию в хорошем качестве в формате 8 на 10, изображение должно иметь 1920 пикселей в ширину и 2400 пикселей в высоту (или наоборот ). В общей сложности около 4,6 миллионов пикселей.

Теперь мы начинаем приближаться к границе технических возможностей цифровых камер. 4-мегапиксельной цифровой камеры нам уже будет недостаточно, чтобы иметь возможность распечатать изображение в формате 8 на 10 с разрешением 240 пикселей на дюйм. Потеря порядка 600 000 пикселей это не слишком значительно. Вы все еще сможете распечатать изображение в формате 8 на 10, но, скорее всего, вы уже не получите профессионального качества.

Давайте сделаем такие же вычисления для формата 8 на 10 при разрешении 300 пикселей на дюйм:

300 пикселей на дюйм х 8 дюймов в ширину = 2400 пикселей
300 пикселей на дюйм х 10 дюймов в высоту = 3000 пикселей

Общее количество пикселей = 2400 пикселей в ширину х 3000 пикселей в высоту = 7200000 пикселей

Теперь мы действительно выходим за ограничения, существующие для некоторых цифровых фотоаппаратов. Для того, чтобы иметь возможность распечатать фотографию в формате 8 на 10 с разрешением 300 пикселей на дюйм, наша фотография должна быть 2400 пикселей в ширину и 3000 пикселей в высоту (или наоборот ), в общей сложности 7,2 миллиона пикселей! Теперь это на самом деле много!

Это означает, что вы должны иметь, по крайней мере, 7.2-мегапиксельную цифровую камеру. В этом случае вы будете иметь возможность печатать свои фотографии в формате 8 на 10, и при этом все еще сможете получить снимки профессионального качества. Конечно, не забудьте, что большинство фотографий требуется хотя бы немного обрезать, а значит, вы теряете еще несколько пикселей.

Если вы уверены, что будете печатать много фотографий в формате 8 на 10, инвестиции в качественную 8-мегапиксельную или выше камеру настоятельно рекомендуются.

Это в целом все!

Данная публикация представляет собой перевод статьи «Image Resolution And Print Quality » , подготовленной дружной командой проекта

Откуда взялись 96 dpi

Мода на дисплеи с высокой плотностью пикселей, запущенная Apple, высветила проблемы с масштабированием, существующие у некоторых приложений для Windows. Откуда эти проблемы взялись и как их решить?

Таким образом, 96 dpi - это виртуальный параметр, полученный в результате виртуальных же вычислений и усреднений. Он высчитан на основе оценки субъективного восприятия пользователем размера буквы в зависимости от расстояния и представляет собой поправочный коэффициент к параметру 72 dpi, который, в свою очередь, является просто отражением того факта, что 72 точки одного монитора с определенной диагональю и разрешением (причем вышедшего на рынок очень-очень давно) совпадает с виртуальным дюймом, используемым в печати. Сложно? Весьма.

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

Как построен интерфейс Windows, почему 96 dpi стали базой, как эта база используется?

Тем не менее, параметр 96 dpi стал важнейшим элементом для построения интерфейсов системы и приложений. Как же так получилось?

Во времена, когда Windows только захватывала рынок, технологии и индустрия ПК не развивались такими безумными темпами, как сейчас, однако развитие шло, и тогда казалось весьма динамичным. Сменяли друг друга стандарты вывода изображения на экран: CGA, EGA и, наконец, ставший последним стандартом IBM, широко распространившимся на рынке. Постепенно росли диагонали мониторов и доступные разрешения. И разрешение постепенно из константы превращалось в одну из переменных.

Однако привязка компьютеров к бумаге продолжала оставаться одним из важнейших аспектов их функциональности. Соответственно, сохранял свою актуальность и параметр dpi, который задавал параметры шрифтов и графики при выводе на бумагу. Видимо, этот параметр стали воспринимать в виде универсальной константы, и именно dpi стал точкой отсчета для построения интерфейса системы и приложений - как для текста, так и для графики.

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

При этом, хочу еще раз напомнить, сам по себе параметр dpi - виртуальный и не имеет никакого отношения к аппаратной части компьютера. Компьютер всегда рисует изображение в пикселях и выводит его на экран в определенном разрешении. Ему, по большому счету, все равно, на какую диагональ выводить картинку, и уж тем более он не знает, как далеко от экрана сидит пользователь, а ведь этот параметр учитывался при выборе наиболее «выгодного» dpi. Следовательно, dpi как параметр нужен нам в двух случаях: при выводе на бумагу (тогда он задает масштаб и организацию элементов на листе бумаги) и как некая базовая величина, определяющая субъективно удобный масштаб элементов изображения на экране.

Поскольку это случайное удачное сочетание параметров монитора (размеры изображения/разрешение, дающие нужный PPI) и системы (dpi) хорошо работало, его воспринимали как нечто постоянное и незыблемое. Считалось, что параметр dpi = 96 сохранит свою актуальность всегда. Вот почему не всегда следует слепо доверять «удачному опыту» - это может оказаться не общее правило, а просто удачно работающее сочетание случайных параметров, которое рассыплется, как карточный домик, стоит измениться одному из них. Собственно, это произошло и с dpi: все настолько поверили в его незыблемость, что для упрощения жизни стали рассматривать его как константу. А когда изменить dpi все-таки понадобилось, с интерфейсами случилась катастрофа. Вот об этом и поговорим.

Организация интерфейса Windows, ЖК-экраны и связанные с ними сложности

Итак, dpi стал базовой величиной, которая легла в основу всех элементов (текстовых и графических) и ОС Windows, и приложений. При увеличении разрешения размер элементов в dpi оставался тем же, просто их больше помещалось на экран, а видимый размер, т. е. то, как эти элементы выглядели на экране, определялся соотношением физического размера экрана и его разрешения. Долгое время разрешение и диагональ экрана росли примерно одинаковыми темпами, так что ничего страшного не происходило.

В принципе, концепция dpi немного зашаталась уже по мере развития ЭЛТ-мониторов, т. к. нужное соотношение размер/разрешение даже для них отнюдь не всегда выдерживалось точно. В результате, на разных мониторах элементы на экране имели разные видимые размеры. Но в большинстве случаев с небольшими отклонениями мирились, а в случае значительных отклонений от «нормы» на помощь приходили сами мониторы. Ведь ЭЛТ-трубки хорошо работали с несколькими разрешениями, так что проблему скорее всего можно было устранить, поставив на мониторе другое разрешение - таким образом, чтобы визуальный размер элементов был ближе к заветному dpi. Поэтому большинство пользователей воспринимали слишком мелкую или слишком крупную картинку не как неправильный масштаб, а скорее как неправильное разрешение для конкретного монитора. Например, помните про 800×600 vs 1024×768 для 14-дюймовых мониторов?

Этот способ перестал работать с переходом на мониторы с ЖК-матрицами, ибо они способны хорошо работать только с одним разрешением. И уже на втором шаге развития ЖК-мониторы показали, насколько они могут испортить всем жизнь.

Первый раз пользователи ПК глобально столкнулись с проблемой масштабирования, когда на рынок стали массово выходить ЖК-мониторы с диагональю 17-дюймов и разрешением 1280×1024 точек. Я думаю, многие читатели помнят проблемы с их настройкой. В погоне за красивыми спецификациями производители выбрали разрешение побольше, но в результате для этого типа матриц баланс размер/разрешение получился крайне неудачным: плотность пикселей оказалась слишком высокой, и при стандартных настройках монитора и системы изображение элементов на экране было слишком мелким для комфортной работы. Тут выяснилось, что масштабирование в Windows работает плохо.

Дело доходило до того, что пользователи от отчаяния понижали разрешение на ступень, хотя для ЖК-мониторов это имело очень неприятные последствия: изображение становилось нечетким, шрифты - расплывчатыми, глаза все равно болели. Ко всем бедам, разрешение 1280×1024 предполагает нестандартное соотношение сторон: 5:4 вместо 4:3, т. е. при переводе монитора на 1024×768 еще и пропорции нарушались. Вот такое неудачное стечение обстоятельств…

Потом на рынке появились мониторы с диагональю 18 и 19 дюймов и с тем же разрешением, на которых размер экранных элементов уже был более пристойным, что снизило остроту проблемы. Однако широкие массы уже получили наглядный урок, что возможность масштабировать интерфейсы на экране - не роскошь, а необходимость. Тем более что с распространением ЖК-матриц старый добрый способ «изменить разрешение экрана» уже не работал, т. е. оставалась только программная настройка системы. Так и проще, и удобнее, и возможностей по настройке гораздо больше. Это сейчас всё кажется таким очевидным, потому что мы привыкли. А ведь долгое время считалось, что нужно менять не масштаб картинки, а разрешение экрана…

Однако масштабирование в Windows выполнить не так просто, как кажется.

Сложности масштабирования интерфейса

Интерфейс системы и приложений состоит из большого количества разных элементов. Однако рассчитываются они в разных системах координат. Например, шрифты считаются в тех же dpi (там все может быть сложнее, но для простоты возьмем, что это их единственный параметр), а графические элементы - напрямую в пикселях.

Иконка на рабочем столе - это простое растровое изображение с жестко фиксированным размером в точках (пикселях), например 32×32, и такого размера она и останется (насколько я помню, сейчас есть варианты 16×16, 32×32, 64×64 точек, но это просто еще одна иконка, нарисованная в другом размере; подробнее о создании иконок, ). Интерфейс выглядит целостно только до тех пор, пока сохраняются заданные создателем пропорции текстовой и графической составляющих.

Возьмем простейший пример: в интерфейсе есть диалоговое окно, на нем кнопка «сохранить изменения», фоном которой служит растровая картинка. Предположим, мы выставили масштаб графики 100%, а dpi=96, и при этих условиях нарисовали интерфейс. Все элементы отлично подогнаны друг под друга и выглядят замечательно. Теперь выставим dpi=120, что произойдет? Текст станет больше, а размер кнопки останется прежним - т. е. текст вылезет за рамки отведенного ему места. Теперь представим себе, что все отрисованное окно - это растровое изображение (битмап), и выставим масштаб 120%. И текст, и фоновые картинки станут размытыми, потеряют четкость. Выглядит такой интерфейс неаккуратно и неприятно. Собственно, это две основных проблемы при масштабировании интерфейсов, и ниже мы поговорим, как они решались и решаются в Windows.

Зоопарк устройств

Компания Apple контролирует и устройства (причем единолично), и программную платформу. Поэтому она, во-первых, может сама решать, какие решения и с какими параметрами ей выводить на рынок, а во-вторых, может поддерживать ограниченный ассортимент продуктов, подбирая наилучшее (по ее мнению) соотношение параметров. Это, помимо всего прочего, облегчает жизнь и самой компании, и сторонним разработчикам в плане создания и оптимизации интерфейса.

Платформа Windows построена на совершенно иных принципах, суть которых в многообразии производителей компонентов, ПО и устройств, объединенных лишь общей операционной системой. Выпуском матриц и мониторов для настольных компьютеров и мобильных устройств на Windows занимаются самые разные производители, поэтому существует огромное количество доступных диагоналей экрана и разрешений, причем постоянно добавляются новые, а старые перестают быть актуальными. Поэтому разработчики ПО просто не могут проверить все варианты и вынуждены создавать интерфейсы по максимально универсальным принципам, которые позволят им работать на любых типах мониторов. До последнего времени единственным постоянным параметром оставалось dpi, и производителям ПО оставалось молиться, чтобы производители мониторов так подбирали соотношение диагонали и разрешения, чтобы 96 dpi примерно соответствовало их PPI.

Однако в реальной жизни производители «железок» оглядываются на маркетинговые цифры больше, чем на своих коллег по производству софта. Например, хотелось бы кинуть гранату и в стан производителей мониторов: эти ребята со спокойной совестью выпускают мониторы с одним и тем же разрешением Full HD 1920×1080, но с диагональю матрицы от 21,5 до 27 дюймов. Причем найти хороший 27-дюймовый монитор с разрешением Full HD (которое мне лучше всего подходит в силу не очень хорошего зрения) до последнего времени было не так-то просто, да и цена там была соответствующая.

Впрочем, даже текущую ситуацию скоро можно будет назвать «добрые старые деньки». Apple подняла на флаг идею резкого увеличения количества плотности пикселей на дюйм и активно внедряет ее во все свои устройства. Новый стандарт уже принят рынком, и чтобы не отстать, платформе Windows приходится двигаться в том же направлении. Это заставляет искать совершенно другие подходы к конструированию интерфейсов и создает очень много новых проблем.

Более того, компания Microsoft сама смело шагнула дальше, включив в парадигму еще и планшеты: т. е. теперь у нас одна и та же операционная система (Windows 8) с одним и тем же интерфейсом должна не просто работать, а обеспечивать высокое удобство использования и схожие ощущения от работы на любом экране, начиная с 10-дюймового планшета с разрешением 1366×768 (это первоначально заявленное минимальное стандартное разрешение для системы, однако сейчас Microsoft снизила это требование до экранов в 7 дюймов и разрешения 1024×768) и до… ну, пусть будет 30-дюймовый (а на самом деле выше) монитор с разрешением, уже превосходящим Full HD (например, 2560×1600).

Таким образом, Full HD (1920×1080) тоже отнюдь не предел. Но основной юмор ситуации даже не в этом, а в том, что экран с разрешением Full HD может оказаться и на громадном 27-дюймовом мониторе (или телевизоре с еще большей диагональю), и на 11-дюймовом экране планшета.

Игры как пример

Итак, думаю, многие читатели уже пришли к выводу, что идеальным выходом было бы создание интерфейса из полностью масштабируемых элементов. Для иллюстрации этого подхода к решению проблемы возьмем другой пример из истории древнего мира: эволюцию компьютерных игр. Изначально они зачастую выглядели так: жестко нарисованный под нужное разрешение задник (фактически - картинка типа обоев) плюс спрайты - растровые изображения фиксированного размера, причем фиксированного в пикселях (можно предаться ностальгии на msdn). Иначе говоря, фактически те же иконки рабочего стола с жестко заданным размером в пикселях или растровые шрифты. Анимация спрайта осуществлялась за счет того, что на месте одного спрайта ставился другой, тоже заранее отрисованный. Как осуществлялось масштабирование спрайтов, я, пожалуй, рассказывать не буду - поберегу нервы читателей.

В принципе, даже все любимые 3D -игры нашего детства, начиная с Wolfenstein 3D, использовали спрайты. В качестве их лебединой песни можно назвать незабвенный Duke Nukem 3D. Это, пожалуй, последняя успешная игра, в которой монстры были спрайтовыми, при том что сам игровой мир уже довольно давно был реально трехмерным.

Статический спрайт можно нарисовать и даже анимировать красиво, но вот беда - только для определенного разрешения и определенного масштаба. Масштабирования он не перенесет. Собственно, ужасные крупные пиксели спрайтов - как раз и есть пример неудачного масштабирования. Поэтому постепенно в играх они стали вытесняться векторными изображениями людей и машин. Так можно построить полноценные двух- и трехмерные модели со всеми плюсами (возможность их разворачивать как угодно, масштабировать и пр.), но и минусами (требуют для расчета значительных вычислительных ресурсов). В общем, это и стало толчком к развитию всех трехмерных видеокарт, которые сейчас пафосно называют GPU. Мир в играх стал полностью масштабируемым, а бонусом - полностью трехмерным, - но ценой сильного роста требований к вычислительным ресурсам. С тех пор идет постоянная гонка: по мере роста вычислительных возможностей железа растет качество обработки и сложность, что повышает требованиz к вычислительным возможностям - и так далее.

Слева - оригинальная игра со спрайтовыми монстрами и характерными для того времени текстурами, справа - результат работы фанатов, которые в т. ч. привели монстров в трехмерный вид.

Впрочем, на трехмерность интерфейса мы пока не претендуем. Нам важно понять, что растровые иконки-картинки не подходят для современной концепции вывода изображения, а раз так - нужно создать новую парадигму построения интерфейса, в которой все элементы могут свободно масштабироваться в зависимости от текущего соотношения разрешения и диагонали экрана. А эта задача посложнее будет, чем у Apple (там требовалось всего-то перерисовать иконки с вдвое большим разрешением). Хотя, в общем-то, при решении этой задачи до сих пор практически повсеместно применяются обходные технологии.

Итак, в первой части мы оценили общее количество и масштабы стоящих перед разработчиками задач. В следующей, второй части , мы рассмотрим, как проблема масштабирования интерфейса решается в Windows - и для традиционного десктопа, и для нового интерфейса (который раньше называли Metro).

Актуальность: 2016

Для измерения размера фотографий применяются по меньшей мере три параметра - разрешение цифрового изображения (в пикселях), размер отпечатка (в сантиметрах) и разрешение при печати (dpi - точки на дюйм). Пользователю, который впервые столкнулся с задачей преобразования изображения, подготовкой его к печати иногда сложно разобраться с этими настройками, приходится действовать наобум и идти к желаемому результату путем проб и ошибок, тратя уйму времени и бумаги.

Приведем простой пример задачи. Вам нужно сделать фотографию на документы. Можно пойти двумя путями - сходить в фотоателье и сфотографироваться там, отдав за 4 маленьких фотографии, напечатанных на листе 10*15 см рублей 150. Второй вариант - сфотографироваться дома, подготовить к печати лист А4, на который втиснуть столько своих фотографий разных размеров, что хватит на несколько лет вперед. Потом идете в фотоателье и печатаете свое творение на листе А4 рублей за 30. Вроде бы с одного заказа выгода смехотворная, но если нужно распечатать фотографии сразу для нескольких человек (например, когда вся семья фотографируется на визу перед путешествием в другую странц), то можно сэкономить более существенную сумму. И это лишь один из примеров. Другой вопрос - как соблюсти размеры фотографий, чтобы на отпечатке они были ровно 4*5 см (или каким-то другим размером). Для того, чтобы подогнать размер отпечатка к требуемому, нужно разобраться в связи сантиметров , пикселей и точек на дюйм .

Пиксели

Пиксель - это одна точка, из которых состоит изображение. Также пикселем называется ячейка изображения на мониторе или жк-телевизоре. Рассмотрите монитор вблизи и вы увидите едва заметную сеточку, одна ячейка этой сетки - и есть пиксель. Фотография, которую вы скачали с фотоаппарата имеет разрешение несколько мегапикселей, то есть, например, 6000 пикселей в ширину и 4000 пикселей в высоту - это 6.000 * 4.000 = 24.000.000 пикселей или 24 мегапикселя. При просмотре на мониторе картинка автоматически масштабируется до разрешения монитора (около 2 мегапикселей). Если мы пытаемся увеличить масштаб (растягиваем фотографию), то до какой-то степени картинка растягивается без видимой потери качества, но потом на ней появляются характерные квадратики. Это происходит, когда реальное разрешение фотографии меньше того, что мы хотим видеть - размер пикселя на фотографии стал больше размера пикселя на мониторе.

Сантиметры

Что такое "сантиметр", я думаю, объяснять не нужно. В нашем случае в сантиметрах измеряется размер отпечатков фотографии. Обычно фотографии печатаются размером 10*15 см, но иногда используются более крупные форматы - 20*30 см (примерно соответствует формату А4), 30*45 см (А3) и больше. Вероятно, вы сталкивались с проблемой - вы нашли на каком-то сайте красивую фотографию и решили ее распечатать ее крупным форматом (например, 20*30 см), но распечатав, заметили, что качество отпечатка не слишком хорошее - конткры объектов получились немного размытыми. Что самое печальное - никакой обработкой эту фотографию не исправить. И все потому, что разрешение фотографии на сайте составляет, к примеру, 900*600 пикселей. То есть, на 1 пиксель на отпечатке будет иметь размер примерно 0.33 миллиметра - при этом сложно рассчитывать на "звенящую" резкость! И здесь появляется еще один параметр качества изображения, при помощи которого можно оценить качество отпечатка - DPI

DPI

DPI сокращение английской фразы Dots per Inch, что на русский переводится как точки на дюйм. Эта величина как раз показывает, сколько пикселей изображения приходится на один "погонный" дюйм при печати (дюйм равен 2.54 см). Еще есть величина DPC (точек на сантиметр), но она используется реже - как ни крути, все эти технологии печати пришли к нам оттуда, где в ходу дюймы, футы, фунты и т.д. Итак, вернемся к нашему примеру - картинке 900*600 пикселей, которую мы решили напечатать форматом 30*20 см. Переведем для удобства сантиметры в дюймы - получаем 11.8 * 8.9". Если поделить 900 пикселей на 11.8", то получаем разрешение печати 76 DPI . Это примерно соответствует разрешающей способности монитора с его "крупными" пикселями, поэтому картинка на экране смотрится хорошо. Но чтобы получить отпечаток приемлемого качества, нужно разрешение печати как минимум 150 DPI, а если хотим совсем хорошую детализацию, не менее 300 DPI. Чтобы обеспечить такое разрешение при печати 30*20 сантиметров, оригинальное цифровое изображение должно иметь разрешение 3540 * 2670 пикселей - это около 9 мегапикселей. Вот и нашли причину, почему фотографии, распечатанные "из интернета" выглядят нерезко и мутно. Теперь вернемся к нашему вопросу - как подогнать разрешение картинки, чтобы оно печаталось заданным размером? В качестве примера рассмотрим подготовку фотографий для документов.

Создание собственного фото на документы - пошаговая инструкция

Предположим, вам нужно сделать несколько фотографий размером 4*6 см и разместить их на листе 20*30 см. Как это сделать?

1. Берем исходное изображение, открываем его в Photoshop. Выбираем пункт меню "изображение" - "размер изображения". Перед нами открывается такое диалоговое окно:

В открывшемся диалоге мы видим две группы настроек - "размерность" и "размер печатного оттиска". В группе "размерность" отображаются размеры цифрового изображения в пикселях. Эти настройки не трогаем! В группе "размер печатного оттиска" устанавливаем нужный нам размер в сантиметрах (единицы измерения выбираются из выпадающих списков). В нашем случае это 4*6 см. Также задаем разрешение при печати - 300 пикселей на дюйм, этим мы обеспечим хорошее качество печати.

Меняя настройки размера печатного оттиска, мы видим, что размеры в пикселях тоже изменяются. Так и должно быть! После всего этого нажимаем кнопку ОК. Изображение меняется в размерах. Теперь нам нужно скопировать его - используем комбинацию клавиш:

  1. Ctrl + A (англ) - выделить все
  2. Ctrl + C (англ) - скопировать в буфер обмена

То, что скопировано в буфер обмена мы будем переносить на отдельный холст, см п.2. 2. Теперь нам надо создать новое изображение, которое будет соответствовать листу 20*30 см, который мы пойдем распечатывать в фотолабораторию. Выбираем меню "Файл", "Создать", появляется диалоговое окно:

Указываем размер фотобумаги, на которой будет выполняться печать (20 на 30 см) и выставляем разрешение в пикселях на дюйм такое же, какое имеет наша фотография - 300 DPI. Нажимаем ОК.

3. Появилось пустое изображение с прозрачным фоном. Нажимаем комбинацию клавиш Ctrl + V и вставляем наше первое изображение на новый холст. Это будет выглядеть примерно так:

Изображение вставлено как новый слой. Передвигаем его в верхний левый угол, затем выбираем меню "Слой", "Создать дубликат слоя".

На холсте появится еще одна такая же картинка, изначально она "лежит" на исходном слое. Перемещаем ее и ставим рядом. Таким же образом создаем столько дубликатов слоев, сколько нам нужно. После этого выполняем сведение слоев (меню "Слой", "Выполнить сведение").

Сохраняем картинку в формате JPEG, копируем на флешку и идем в фотолабораторию. Оператору говорим следующее - "напечатайте это изображение форматом 20*30 см с разрешением 300 DPI без масштабирования ". При этом маленькие картинки будут иметь точно такой размер, какой мы для них указали - в нашем случае 4*6 сантиметров. При себе желательно иметь линейку, чтобы проверить размеры отпечатков.

Глава первая. 96 точек на дюйм.

Мне тут недавно сообщили применительно к готовым цифровым изображениям, сделанным в Фотошопе, что «…вообще стандарт картинок для экрана - это 72 точки на дюйм и никак иначе! По-другому просто не делается…» и что «…это признанный стандарт, в котором работают все, кто связан с WEB’ом, а точнее, с экранной графикой».

Я был слегка озадачен, и подумал тогда - причём тут вообще разрешение картинки, если на экране монитора она всё равно отображается точка в точку (если, разумеется, не масштабировать её насильно). Какое ни укажи разрешение в Фотошопе, программами отображения оно игнорируется, и картинка будет отображаться только исходя из своих точечных размеров! Другое дело - в специальных программах вёрстки это разрешение учитывается, но мы-то говорим об экранной графике!

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

Для начала, я проверил современные ЖК-мониторы. Вооружившись линейкой, я произвёл вычисления, и оказалось, что величина их разрешения никак не 72 точки на дюйм, а очень даже 96 точек на дюйм! Самые распространённые сегодня 17-дюймовые ЖК мониторы ближе всех подошли к этой цифре - их разрешение 96,4 точки на дюйм. Ниже всех разрешение оказалось у 19-дюймового ЖК-монитора - 86,3 точки на дюйм, но и то эта цифра была ближе к 96, чем к 72!

Что касается ЭЛТ-мониторов, то в них, как известно, разрешение можно выставить любое из некоторого набора. Первый квадратный пиксель появился на VGA-мониторах (раньше они были вытянутые, и разрешение по ширине не совпадало с разрешением по высоте). На первых 14-дюймовых VGA-мониторах наиболее комфортное разрешение было 800х600 точек, что при фактической диагонали 13 дюймов давало около 77 точек на дюйм. Но эти мониторы ушли в далёкое прошлое, и уже на 15-дюймовых мониторах с фактической диагональю 14 дюймов стало стандартом де-факто 1024х768 точек, что давало уже 91,4 точки на дюйм. Для 17-дюймовых мониторов с фактической диагональю 16 дюймов самое удобное разрешение оказалось 1152х864, что даёт цифру 90 точек на дюйм. С более крупными диагоналями ситуация примерно такая же.

Таким образом, разрешения любых современных мониторов не имеют ничего общего с параметром 72 точки на дюйм, но их разрешение близко к 96 точкам на дюйм.

Для проверки разрешений мониторов можно воспользоваться вот этим калькулятором:
http://novikovmaxim.narod.ru/calc.htm

Затем, после изучения разрешений мониторов, я занялся исследованием Фотошопа. Выяснилось, что если сохранять изображения специальной функцией «Сохранить для Веб…», то информация о разрешении в файл вообще не сохраняется, и в свойствах полученных файлов картинок мы можем увидеть запись о 96 точках на дюйм вне зависимости от того, какое разрешение в Фотошопе было установлено для картинки при разработке - это происходит потому, что сама операционная система подставляет в качестве значения этого незаполненного свойства наиболее вероятное для себя экранное разрешение - 96 точек на дюйм. Замечу, что Фотошоп при открытии таких файлов тупо подставляет в это незаполненное свойство 72 точки на дюйм. Из дальнейшего повествования вы узнаете, откуда у Фотошопа такая паталогическая любовь к этой цифре.

Итак, при сохранении для Веба Фотошоп не сохраняет информацию о разрешении, что подтверждает отсутствие практической пользы этого параметра, как свойства веб-картинки. Впрочем, даже если картинка будет иметь такую информацию (после обычного сохранения), то при распечатке веб-страницы на принтере это свойство тоже проигнорируется, и размер картинки всегда будет пропорционален остальному содержимому страницы.

Тогда у меня возник следующий вопрос: может быть, величина разрешения важна во время создания изображения? Поэкспериментировав с Фотошопом, я выяснил, что от текущего разрешения зависит только пиксельный размер Фотошоповского шрифта, задаваемый в пунктах. Причём для веб-страницы, визуальное равенство одних и тех же размеров шрифтов на картинке и в тексте возможно только при установленном в Фотошопе разрешении 96 точек на дюйм. То есть, если веб-страница содержит текст размером 10 пунктов, то чтобы на той же странице Фотошоповский 10-пунктовый шрифт на картинке выглядел также, необходимо установить при создании этой картинки разрешение именно 96 точек на дюйм. Это логично - ведь все программы масштабируют текст, исходя из предполагаемого разрешения монитора 96 точек на дюйм, а значит и мы в Фотошопе должны исходить из того же значения.

Таким образом, разрешение в веб-графике важно только при её создании и только в том случае, если мы работаем со шрифтами. И разрешение это - 96 точек на дюйм!

Глава вторая. 72 точки на дюйм

Давайте разберёмся, откуда же взялись эти самые 72 точки на дюйм, за которые так ратуют некоторые дизайнеры, и почему именно эта цифра по умолчанию устанавливается Фотошопом для нового изображения? Объясняется всё довольно просто - историей. В полиграфии дюйм равен 72 пунктам, а фирма Эппл, ориентируя свои первые компьютеры Макинтош именно на полиграфию, взяла, да и приравняла размер точки экрана своего компьютера к полиграфическому пункту, чтобы текст на экране выглядел также, как на бумаге. В общем-то, это было логичное решение. В результате, разрешение первых Макинтошевских мониторов было именно 72 точки на дюйм.

Впоследствии, чтобы сэкономить на размерах Макинтошевских мониторов, разработчики решили увеличить их разрешение до разрешения мониторов PC (96 точек на дюйм). В результате, зрительные размеры шрифтов уменьшились (поэтому, например, при просмотре веб-страниц на Макинтоше, все шрифты, размер которых указан в пунктах, выглядят в 1,33 раза мельче, чем на PC, где размеры пункта изначально были в 1,33 раза больше размеров точки, а не равны ей). Фактически, у Макинтоша сложилась ситуация, когда наряду с фактическим (физическим) разрешением 96 точек на дюйм у него появилось «логическое» разрешение 72 точки на дюйм. То есть Макинтош как бы просит считать разрешение его монитора 72-точечным, а диагональ соответственно в 1,33 раза большей, чем на самом деле. Поэтому разрешение в 72 точки в Фотошопе актуально на Макинтоше и сейчас. Парадокс - разработчики Эппл с самого начала старались приблизить экран к бумаге, а в итоге получилось всё с точностью до наоборот.

Что касается Фотошопа, то он был изначально написан для Макинтошей, и лишь потом был переведён на PC, но значение 72 так и не посчитали нужным изменить на 96, хотя это было бы определённо разумным решением. Вот эта-то настройка по умолчанию и сбивает многих дизайнеров, считающих её истиной в последней инстанции под давлением авторитета Фотошопа. А последний всего лишь наивно предполагает, что запущен на Макинтоше…

Ну и напоследок, чтобы развеять все сомнения, давайте посмотрим наглядно зависимость размера Фотошоповского шрифта от установленного разрешения картинки:

Текстовый Arial, 10 пунктов, на Макентоше равен размеру шрифта первой строки, а на PC - второй строки следующего рисунка:

Замечу, что если вы смотрите этот текст через Internet Explorer 7 с включённой в нём по умолчанию опцией ClearType или через браузер Safari 3, то они несколько сглаживают шрифты, что заметно при сравнении шрифта строки примера со шрифтом строк на рисунке, Выполненном в Фотошопе. Для чистоты эксперимента советую посмотреть этот текст через браузеры Opera 9, Firefox 2 или Netscape Navigator 9, не вносящих искажения в шрифт. Если вы используете ЖК-монитор, и всё ещё видите разницу, то отключите в Windows функцию ClearType сглаживания экранных шрифтов (свойства экрана).

  1. Если вы создаёте веб-графику, то при разработке изображений используйте разрешение 96 точек на дюйм, чтобы лучше ориентироваться в размерах применяемых вами шрифтов - ведь большинство ваших клиентов видят ваши сайты через PC.
  2. Если вы создаёте графику для полиграфии, то используйте то разрешение, которое требует от вас технолог типографии (для разного оборудования и разных целей это будут разные разрешения).
  3. Если вы создаёте веб-графику, ориентируясь исключительно на пользователей Макинтошей, то используйте разрешение 72 точки на дюйм, чтобы лучше ориентироваться в размерах применяемых вами шрифтов.

16.12.2009

Для начала предлагаю вам провести небольшой эксперимент. Создайте или откройте в любой программе документ с размерами страницы по умолчанию. Обычно он будет формата А4 - 210297 мм. Теперь убедитесь, что масштаб отображения равен 100%, что ориентация портретная и что вид соответствует будущей распечатке (для OpenOffice это «ВидРазметка печати»). Сделали?

Для начала предлагаю вам провести небольшой эксперимент. Создайте или откройте в любой программе документ с размерами страницы по умолчанию. Обычно он будет формата А4 - 210×297 мм. Теперь убедитесь, что масштаб отображения равен 100%, что ориентация портретная и что вид соответствует будущей распечатке (для OpenOffice это «Вид Разметка печати»). Сделали? Затем возьмите лист формата А4 и попробуйте совместить его контур с экранным. С вероятностью 99,9% их размеры не совпадут, причем разница окажется отнюдь не 0,01%, а гораздо более существенной.

Получившееся расхождение обусловлено моделью пользовательского интерфейса, реализованной создателями операционных систем и приложений. Ведь для того чтобы отобразить что-либо на экране, сохранив натуральную величину документа, нужно учитывать не только размеры дисплея, но и его разрешение - сколько пикселов помещается на единице длины по вертикали и по горизонтали. Думали-думали разработчики, потом, видать, послали младшего лаборанта (а может, самого Билла Гейтса - молодого и энергичного) определить размеры типичного экрана. Вернулся он с цифрами. Разделили длину на количество пикселов и получили 96 точек на дюйм (дело-то в Америке было, где дюймы в ходу, а 1 дюйм = 25,4 мм). И кто-то сказал, что это хорошо. И назвал магическое число «логическим разрешением».

А теперь внимание! Правильный ответ (цитирую документ с сайта Microsoft из раздела для разработчиков - http://msdn.microsoft.com/ru-ru/library/aa970067.aspx): «По умолчанию параметр точек на дюйм равен 96. Это означает, что 96 точек занимают ширину или высоту одного воображаемого дюйма. Точный размер «дюйма» зависит от размера и физического разрешения монитора. Например, если монитор имеет ширину 12 дюймов и горизонтальное разрешение 1280 точек, то горизонтальная линия в 96 точек расширяется до длины около 9/10 дюйма». Ключевое слово здесь - «воображаемый». Следовательно, наш дюйм получается эластичный - тянется или сжимается в зависимости от физических размеров и разрешения конкретного монитора.

Надо заметить, что значение 96 тнд долгие годы заметно превышало реальные возможности мониторов. Типичное физическое разрешение большинства моделей составляло 72 тнд (оно и до сих пор остается логическим разрешением в Mac OS), за ним даже закрепилось словосочетание «экранное разрешение». Именно оно задано для экранных шрифтов, а также для стандартных картинок с низким разрешением, отображаемых в программах верстки вместо «прилинкованных хайрезов». С такой же дискретностью делают и графику для Сети.

Кроме того, даже после установки драйверов из комплекта поставки монитора компьютер не мог точно узнать реальные размеры области изображения, ведь на ЭЛТ-мониторах она настраиваемая и обычно не растягивается на весь экран без полей, поскольку именно на краях дисплея искажения геометрии и сведения получались максимальными. Видеть такое никому не хотелось - лучше уж оставлять небольшие черные поля. Значит, если верстальщик или дизайнер желал вывести на экран изображение именно того размера, какого оно позже будет напечатано, такой простой вариант, как задать 100%, не подходил. Увы, не годится он и сейчас.

Между тем после появления ЖК-мониторов у рассматриваемой нами задачи стало возможно простое решение. Поскольку плоскопанельные экраны обладают врожденной идеальной геометрией, их пикселы выровнены раз и навсегда. Физическое разрешение, при котором картинка оптимальна (именно его следует выбирать тем, кто занимается версткой или дизайном), только одно. Его значение, а также размеры области отображения с высокой точностью известны компьютеру. Но тогда почему же «Масштаб 100%» все еще не работает так, как должен? Видимо, потому, что никто над этим пока специально не задумался.

Полагаю, надо было бы где-то среди параметров добавить маленькую кнопку «Привести масштаб экрана в соответствие с масштабом печати». Да, длинное получилось название. А может, - «Уравнять размеры на экране и при печати»? Так, пожалуй, звучит уже получше.

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

Такова теория. Но критерий истины - практика! Поэтому, взяв в руки линейку, я измерил ширину экрана своего ноутбука. Получилось 284 мм, или 11,18 дюйма, - почти как в примере у Microsoft. Горизонтальное разрешение - 1280 точек. В точках на дюйм это будет 114,5. Следовательно, мне нужно заменить имеющийся масштаб отображения на 119,27% (т.е. 114,5 умножить на 100 и разделить на 96). В ноутбуке установлена ОС Vista. Выбираю «Панель управления Персонализация Изменить размер шрифта» (на самом деле изменятся величины всех элементов пользовательского интерфейса и поддерживающих это приложений). Щелкаю на «Особый масштаб» и задаю «119%» (увы, дробного масштаба ввести нельзя). Возвращаюсь - появилась новая строка «114 dpi». Теперь остается перегрузить ноутбук и проверить… Получилось!

P. S. Один из пользователей, обсуждавших этот способ в ЖЖ предложил просто... запомнить, при каком масштабе размеры листа соответствуют реальным.