- •1. Цель работы
- •2. Сведения из теории
- •2.2. Пространство имен System.Drawing. Служебные типы
- •2.3. Сеансы вывода графики. Класс Graphics
- •2.5. Графический вывод текста. Работа со шрифтами
- •2.6. Рисование графиков функций
- •3. Пример выполнения работы
- •3.1. Визуальное проектирование диалогового окна
- •3.2. Проектирование программного кода
- •4. Варианты заданий для самостоятельной работы
2.5. Графический вывод текста. Работа со шрифтами
Основной класс для работы со шрифтами в GDI+ – это класс Font. Объекты этого класса представляют конкретные шрифты, установленные на компьютере. В этом классе предусмотрено множество перегруженных конструкторов, но наиболее часто используются следующие варианты:
//создаем объект Font, указывая имя шрифта и его размер
Font f = new Font(“Times New Roman”, 12);
//создаем объект Font, указывая имя, размер и стиль
Font f2 = new Font(“WingDings”, 50, FontStyle.Bold |
FontStyle.Underline);
При создании f2 использовались стили из перечисления FontStyle. При этом можно задавать несколько стилей одновременно. Значения из перечисления FontStyle представлены в таблице:
Элемент перечисления FontStyle |
Стиль |
Bold |
Полужирный |
Italic |
Курсив |
Regular |
Обычный текст |
Strikeout |
Зачеркнутый |
Underline |
Подчеркнутый |
После настройки необходимых параметров объекта Font нужно передать их методу DrawString() класса Graphics. Несмотря на то что этот метод многократно перегружен, как правило, приходится указывать стандартный набор информации: текстовую строку, которая будет выводиться, используемые шрифт и кисть (цвет текста), а также координаты вывода. Например:
G.DrawString(“My string”,f,new SolidBrush(Color.Red),40,40);
Для того чтобы предоставить пользователю возможность выбрать нужный шрифт для вывода, используется стандартное диалоговое окно выбора шрифта (рис. 5.1).
Рис. 5.1. Стандартное диалоговое окно выбора шрифта
Для управления данным диалоговым окном в библиотеке .NET Framework служит класс FontDialog. Чтобы вызвать на экран такое окно, надо создать объект класса FontDialog и применить к нему метод ShowDialog(). При визуальном проектировании Windows-приложения вместо того, чтобы создавать объект вручную, можно просто поместить на форму компонент FontDialog из панели инструментов, тогда объект класса диалога будет создан автоматически.
Далее с помощью свойства Font можно получить выбранный пользователем шрифт. Список основных свойств класса FontDialog приведен в таблице:
Свойство |
Описание |
AllowVerticalFonts |
Разрешает / запрещает выбирать вертикальные шрифты |
Color |
Цвет шрифта |
Font |
Шрифт |
MaxSize |
Максимально допустимый размер шрифта |
MinSize |
Минимально допустимый размер шрифта |
ShowColor |
Разрешает / запрещает выбирать цвет шрифта |
ShowEffects |
Разрешает / запрещает выбирать эффекты (подчеркнутый, зачеркнутый шрифты и т.п.) |
2.6. Рисование графиков функций
Любой график функции можно рассматривать как некоторую кривую. Кривая – это гладкая линия, представляющая собой сплайн. Настоящий сплайн - это гибкий прут, с помощью которого конструкторы когда-то вычерчивали кривые, изгибая его на плоскости вокруг торчащих из нее гвоздей. Сплайн должен пройти через фиксированный набор точек так, чтобы получающаяся линия была гладкой и не имела изломов. Форма линии зависит от гибкости прута.
Для рисования графика функции можно использовать метод DrawCurve() класса Graphics. Чтобы нарисовать кривую с помощью этого метода, нужно определить ключевые точки сплайна и его упругость. Простейшая форма метода DrawCurve() такова:
DrawCurve(перо, массив_точек, упругость);
Если упругость равна нулю, то соседние точки будут соединены ломаными линиями, т.е. никакого сглаживания не будет. По мере увеличения значения упругости график будет все более и более сглаживаться.