Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Выбор альтернативной единицы измерения

Выбор альтернативной единицы измерения

Если вы не хотите выполнять визуализацию изображений с использованием пиксельных единиц измерения, вы имеете возможность изменить эту принятую по умолчанию установку с помощью свойства PageUnit объекта Graphics. Свойству PageUnit можно присвоить любое значение из перечня GraphicsUnit.

public enum GraphicsUnit {
 // Мировые координаты.
 World,
 // Пиксель для видеодисплея и 1/100 дюйма для принтера.
 Display,
 // Пиксель.
 Pixel,
 // Стандартная точка принтера (1/72 дюйма).
 Point,
 // Дюйм.
 Inch,
 // Стандартная единица документа (1/300 дюйма).
 Document,
 // Миллиметр.
 Millimeter
}

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

private void MainForm_Paint(object sender, PaintEventArgs e) {
 // Отображение прямоугольника а дюймах, а не в пикселях…
 Graphics g = e.Graphics;
 g.PageUnit = GraphicsUnit.Inch;
 g.DrawRectangle(new Pen(Color.Red, 5), 0, 0, 100, 100);
}

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


Рис. 20.4. Визуализация в дюймах

Причина того, что здесь более 90% области клиента формы занято темным (красным) цветом, заключается в указании пера "шириной" в 5 дюймов! Сам прямоугольник теперь имеет размеры 100?100 дюймов, и тот маленький светлый прямоугольник, который вы видите на рисунке в правом нижнем углу, является левым верхним углом большого внутреннего прямоугольника.

Оглавление книги


Генерация: 1.366. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз