Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабор_работа №6 графика.doc
Скачиваний:
13
Добавлен:
21.04.2015
Размер:
609.79 Кб
Скачать

2.6. Методы рисования графических примитивов с помощью кисти и пера

1. Метод построения изображения эллипса:

BOOL Ellipse( int x1, int y1, int x2, int y2 );

BOOL Ellipse( LPCRECT Rect );

который рисует активным пером и закрашивает активной кистью эллипс внутри прямоугольника заданного объектом Rect или координатами вершин (x1y1); (x2y2), лежащими на диагонали прямоугольника.

2. Метод изображения закрашенного сектора:

BOOL Pie( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 );

BOOL Pie( LPCRECT Rect, CPoint Start, CPoint End );

который рисует активным пером и закрашивает активной кистью сегмент внутри прямоугольника заданного объектом Rect или координатами вершин (x1y1); (x2y2), лежащими на диагонали, от начальной точки Start или (x3y3) до конечной точки End или (x4y4) против часовой стрелки.

3. Метод изображения закрашенной замкнутой области произвольной формы:

BOOL Polygon (LPPOINT Points, int Count );

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

2.7. Методы работы с текстом

1. Метод установки цвета выводимого текста:

SetTextColor ( RGB(255,0,0) );

//устанавливает светло-красный цвет текста

2. Метод вывода текста на экран в точку с координатами x, y:

BOOL TextOut ( int x, int y, LPCTSTR String, int nCount);

BOOL TextOut ( int x, int y, const CString &str );

Параметры:

str – объект класса CString, содержащий текст для вывода;

String – массив символов, содержащий текст для вывода;

nCount – количество выводимых символов.

3. Задание на лабораторную работу

Разработать приложение на основе диалога для вывода изображения согласно полученному варианту задания. Предусмотреть элементы типа EditBox для ввода пользователем характеристик, указанных в варианте задания.

4. Варианты заданий

1. Вывести в элемент диалога Static Text изображение прямоугольника и равномерно распределенных кругов с сегментами разного цвета согласно рис. 1. Пользователь задает три компоненты цвета секторов одного оттенка и толщину линии обводки в пикселях.

2. Вывести в элемент диалога Static Text изображение прямоугольника и концентрических кругов разного цвета, расположенных согласно рис. 2. Пользователь задает три компоненты цвета центральных кругов и толщину линии обводки в пикселях.

Рис. 1. Вариант задания 1 Рис. 2. Вариант задания 2

3. Вывести в элемент диалога Static Text изображение прямоугольника и линий разного цвета и толщины с одинаковыми расстояниями между ними согласно рис. 3. Пользователь задает три компоненты цвета и толщину в пикселях линий одного типа.

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

Рис. 3. Вариант задания 3 Рис. 4. Вариант задания 4

5. Вывести в элемент диалога Static Text изображение из пяти равных прямоугольников двух цветов согласно рис. 5, у трех прямоугольников одинакового цвета изобразить их диагонали. Пользователь задает три компоненты цвета прямоугольников одного оттенка и толщину диагоналей в пикселях.

6. Вывести в элемент диалога Static Text изображение из четырех равных прямоугольников и вписанных в них эллипсов разных цветов согласно рис. 6. Пользователь задает по три компоненты цвета одного овала и одного прямоугольника, а также толщину линии обводки эллипсов в пикселях.

Рис. 5. Вариант задания 5 Рис. 6. Вариант задания 6

7. Вывести в элемент диалога Static Text изображение, состоящее из прямоугольника, прямоугольника со скругленными углами и двух эллипсов разного цвета, как показано на рис. 7. Пользователь задает три компоненты цвета центрального эллипса и толщину линии обводки в пикселях.

8. Вывести в элемент диалога Static Text изображение, состоящее из двух прямоугольников и четырех эллипсов разного цвета согласно рис. 8, соединить центры эллипсов линиями. Пользователь задает три компоненты цвета одного эллипса и толщину линии обводки в пикселях.

Рис. 7. Вариант задания 7 Рис. 8. Вариант задания 8

9. Вывести в элемент диалога Static Text изображение, состоящее из двух прямоугольников, эллипса в центре рисунка, двух полных диагоналей прямоугольников и двух половин диагоналей (рис. 9). Пользователь задает три компоненты цвета центрального эллипса и толщину линии обводки в пикселях.

10. Вывести в элемент диалога Static Text изображение из двух прямоугольников и двух эллипсов, центры которых совпадают (рис. 10). Пользователь задает три компоненты цвета центрального эллипса и толщину линии обводки в пикселях.

Рис. 9. Вариант задания 9 Рис. 10. Вариант задания 10