Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KZ_po_KIT.doc
Скачиваний:
1
Добавлен:
09.12.2018
Размер:
869.38 Кб
Скачать

Министерство транспорта и связи Украины

Одесская национальная академия связи им. А.С. Попова

­

КОМПЛЕКСНАЯ РАБОТА

по предмету „Компъютерно - интегрированые технологии

Выполнила:

студентка 3-го курса

группы КТ-3.11

Борисович И.К.

Проверил:

Швайко И.Г.

Одесса-2011

Теоретические сведения

Построение графических изображений в С++ Borland

1. Поверхность для рисования в С++

Программа может вывести графику на поверхность формы (Form) или компонента (Image), которой соответствует свойство Canvas (Canvas – холст для рисования). Для того чтобы на поверхности формы или компонента Image появилась линия, окружность, прямоугольник или другой графический элемент (примитив), необходимо к свойству Canvas применить соответствующий метод (табл. 1). Например, команда

Forml->Canvas->Rectangle(10,10,50,50);

рисует на поверхности формы прямоугольник.

Таблица 1. Методы вычерчивания некоторых графических примитивов

Метод

Действие

LineTo(x,y)

Рисует линию из текущей точки в точку с указанными координатами

Rectangle (xl,yl,x2,y2)

Рисует прямоугольник, xl, yl и х2, у2 – координаты левого верхнего и правого нижнего углов прямоугольника

FillRect (xl,yl,x2, у2)

Рисует закрашенный прямоугольник, xl, yl, х2, у2 – определяют координаты диагональных углов

FrameRect (xl, yl,x2, у2)

Рисует контур прямоугольника, xl, yl, х2, у2 – определяют координаты диагональных углов

RoundRect (xl, yl, x2, y2,

x3, y3)

Рисует прямоугольник со скругленными углами

Ellipse (xl,yl,x2,y2)

Рисует эллипс или окружность (круг), xl, yl, х2, у2 – координаты прямоугольника, внутри которого вычерчивается эллипс или, если прямоугольник является квадратом, окружность

Polyline (points,n)

Рисует ломаную линию, points – массив типа TPoint.

Методы вывода графических примитивов рассматривают свойство Canvas как некоторый абстрактный холст, на котором они могут рисовать (Canvas переводится как "поверхность", "холст для рисования"). Холст состоит из отдельных точек – пикселов. Положение пиксела на поверхности холста характеризуется горизонтальной (X) и вертикальной (Y) координатами. Координаты возрастают сверху вниз и слева направо (рис. 1).

Рис. 1. Координаты точек поверхности формы (холста)

Левый верхний пиксель поверхности формы (клиентской области) имеет координаты (0,0), правый нижний – (ClientWidth, ClientHeight). Доступ к отдельному пикселю осуществляется через свойство Pixels, представляющее собой двумерный массив, элементы которого содержат информацию о цвете точек холста.

Метод Polyline вычерчивает ломаную линию, последовательно соединяя прямыми отрезками точки, координаты которых находятся в массиве: первую со второй, вторую с третьей, третью с четвертой и т. д. Каждый элемент массива points представляет собой запись, поля х и у которой содержат координаты точки перегиба ломаной; n – количество звеньев ломаной.

2 Инструменты рисования

Методы вычерчивания графических примитивов обеспечивают только вычерчивание. Вид графического элемента определяют свойства Реп (карандаш) и Brush (кисть) той поверхности (Canvas), на которой рисует метод.

Карандаш и кисть, являясь свойствами объекта Canvas, в свою очередь представляют собой объекты Реп и Brush. Свойства объекта Реп (табл. 2) задают цвет, толщину и тип линии или границы геометрической фигуры. Свойства объекта Brush (табл. 3) задают цвет и способ закраски области внутри прямоугольника, круга, сектора или замкнутого контура.

Таблица 2. Свойства объекта Реп (карандаш)

Свойство

Определяет

Color

Цвет линии:

clRed – красный, clGreen – зеленый, clBlue – синий, clYellow – желтый и т.д.

Width

Толщину линии (задается в пикселях)

Style

Вид линии: psSolid – сплошная;

psDash – пунктирная, длинные штрихи;

psDot – пунктирная, короткие штрихи;

psDashDot – пунктирная, чередование длинного и короткого

штрихов;

psDashDotDot – пунктирная, чередование одного длинного и двух

коротких штрихов;

psClear – линия не отображается (используется, если не надо

изображать границу области – например, прямоугольника)

Таблица 3. Свойства объекта Brush (кисть)

Свойство

Определяет

Color

Цвет закрашивания замкнутой области

Style

Стиль заполнения области: bsSolid – сплошная заливка.

Штриховка: bsHorizontal – горизонтальная;

bsVertical – вертикальная;

bsFDiagonal – диагональная с наклоном линий вперед;

bsBDiagonal – диагональная с наклоном линий назад;

bsCross – в клетку;

bsDiagCross – диагональная клетка;

bsClear не закрашивать;

3.1 Линия

Вычерчивание прямой линии выполняет метод LineTo. Метод рисует линию из той точки, в которой в данный момент находится карандаш (эта точка называется текущей позицией карандаша или просто "текущей"), в точку, координаты которой указаны в инструкции вызова метода. Например, команда

Image1->Canvas->LineTo(100,200);

рисует линию в точку с координатами (100, 200), после чего текущей становится точка с координатами (100, 200).

Начальную точку линии можно задать, переместив карандаш в нужную точку графической поверхности. Сделать это можно при помощи метода MoveTo, указав в качестве параметров координаты точки начала линии. Например, операторы

Image1->Canvas->MoveTo(10,10); // установить карандаш в точку (10,10)

Image1->Canvas->LineTo(50,10); // линия из точки (10,10) в точку (50,10)

рисуют горизонтальную линию из точки (10, 10) в точку (50, 10).

Используя свойство текущей точки, можно нарисовать ломаную линию. Например, операторы

Image1->Canvas->MoveTo(10,10);

Image1->Canvas->LineTo(50,10);

Image1->Canvas->LineTo(10,20);

Image1->Canvas->LineTo(50,20);

рисуют линию, похожую на букву Z.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]