netlib.narod.ru< Назад | Оглавление | Далее >

Достижение независимости от устройства при помощи текста

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

Допустим, вы программируете простое приложение для обработки баз данных, использующее модель каталожной карточки. Для вывода каждой записи программа имитирует каталожную карточку размером 3 на 5 дюймов. Каков должен быть размер карточки, выраженный в пикселах? Вспомним пишущую машинку. Пишущая машинка с гарнитурой «пика» печатает 6 строчек на дюйм, поэтому на нашей карточке уместится до 18 машинописных строк. Таким образом, высоту карточки можно сделать равной 18 × Font.Height пикселов, а ширину — 5/3 от этого числа.

Ширина карточки, равная 5/3 ее высоты, предполагает, что разрешение устройства вывода (число пикселов на единицу размера, в данном случае на дюйм) по горизонтали и вертикали одинаковое. Когда разрешение устройства графического вывода по горизонтали и вертикали одинаково, говорят, что у этого устройства квадратные пикселы. У самых первых дисплеев, бывших в ходу на момент выхода первой версии Windows в 1985 г., пикселы были не квадратные. Так продолжалось, пока созданный IBM в 1987 г. видеоадаптер VGA (Video Graphics Array), обладающий квадратными пикселами, не стал стандартом видеоадаптеров, совместимых с ПК.

Сегодня вполне допустимо считать пикселы дисплея, на котором работают программы Windows Forms, квадратными. Я сказал «вполне допустимо», так как квадратные пикселы не являются обязательным требованием для работы Windows. Кроме того, всегда есть возможность, что кто-нибудь напишет драйвер устройства Windows для какого-нибудь специализированного видеоадаптера с формой пикселов, отличной от квадратной.

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


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz