Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_2_изд_испр.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.27 Mб
Скачать

Прямоугольники

void rectangle(int left, int top, int right, int bottom); Рисует прямоугольник с заданным битовым образом и цветом заполнения. Границы области не выделяются.

void bar3d(int left, int top, int right, int bottom, int depth, int topflag); Рисует

3-мерный прямоугольник с заданным битовым образом и цветом заполнения. Границы области выделяются установленным стилем и цветом линии. Нормальная глубина(depth) составляет 25% от ширины прямоугольника. Если topflag не равен 0, то верхняя грань показывается, если равен 0, то нет. Это позволяет поместить несколько прямоугольников один на другой.

Пример.

bar3d(left, top, right, bottom, (right-left)/4, 1);

Линии

void line(int x1, int y1, int x2, int y2); Рисует линию между 2-мя заданными точками. Положение курсора не меняется.

void linerel(int dx, int dy); Рисует линию от текущего положения курсора до точки, лежащей на относительном расстоянии (dx, dy). Курсор перемещается в конечную точку.

void lineto(int x, int y); Рисует линию от текущего положения курсора до точки с координатами (x, y). Курсор перемещается в конечную точку.

Эллипсы

void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius); Рисует незаполненный эллиптический сектор цветом рисования. Стиль линии в этой и последующих функциях не действует, влияет только толщина. Здесь:

- x, y – координаты центра эллипса в пикселях,

- stangle, endangle – начальный и конечный углы сектора в градусах(0 – 360),

- xradius, yradius – радиусы по x и y соответственно.

void fillellipse(int x, int y, int xradius, int yradius); Рисует эллипс, затем заполняет его текущим битовым образом и цветом.

void sector(int x, int y, int stangle, int endangle, int xradius, int yradius); Рисует и заполняет эллиптический сектор.

Круги

void arc(int x, int y, int stangle, int endangle, int radius); Рисует незаполненный круговой сектор.

void pieslice(int x, int y, int stangle, int endangle, int radius); Рисует заполненный круговой сектор.

void circle(int x, int y, int radius); Рисует незаполненный круг.

Также полезной может оказаться функция:

void arccoords(struct arccoordstype* arccoords); Получить информацию о параметрах последнего вызова функции arc. Информация выдается структурой вида:

struct arccoordstype{

int x, y; // Коодинаты центра

int xstart, ystart; // Начальная точка дуги

int xend, yend; // Конечная точка

}

Многоугольники

void drawpoly(int numpoints, int* polypoints); Рисует, в общем случае, ломаную линию установленным стилем и цветом линии. Здесь:

- numpoints – число вершин,

- polypoints – координаты вершин(2 * numpoints значений) в порядке (x1, y1), (x2, y2), ….

Для того, чтобы нарисовать замкнутый многоугольник, координаты 1-й и последней вершин должны совпадать.

void fillpoly(int numpoints, int* polypoints); Рисует границы ломаной линии (многогоугольника) установленным стилем и цветом линии, затем заполняет получившуюся область установленным битовым образом и цветом.