Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Рисование линейных объектов

Работа с отдельными точками

Некоторые графические функции

 

В показанном выше примере уже фигурировали некоторые функции. Рассмотрим дополнительно ряд наиболее употребительных функций.

 

 

void far putpixel(int x, int y, int color); -отображает в заданном координатами месте экрана пиксел заданного цвета.

unsigned far getpixel(int x, int y); - возвращает цвета пиксела с координатами (x, y).

 

 

При рисовании линейных объектов основным инструментом является перо. Перо характеризуется цветом (по умолчанию белый), толщиной (по умолчанию 1), шаблоном (по умолчанию сплошной). Шаблон позволяет рисовать пунктирные и штрихпунктирные линии. Параметры пера задают функциями:

 

void far setcolor(int color);

void far setlinestyle(int style, unsigned pattern, int thickness);

Первая функция определяет цвет изображения. Вторая функция определяет характеристики линии: стиль, толщину. Первый параметр определяет стиль линии (шаблон). Предопределены шаблоны: SOLID_LINE, DOTTED_LINE, CENTER_LINE, DASHED_LINE, USERBIT_LINE и др. Если задается шаблон пользователя, он содержится во втором параметре. Шаблон состоит из 8 бит, где значение бита 1 означает, что в соответствующем месте ставится точка, 0 - отсутствие точки. Третий параметр - толщина линии в пикселах. Возможны значения NORM_WIDTH и THICK_WIDTH (1 и 3).

Перо позволяет рисовать линии, окружности, дуги и эллипсы, прямоугольники (функции line, circle, arc и ellipse, rectangle). Эти и другие функции описаны в подсказке Help оболочки языка С (С++). Пример – BGI\ex3.c.

 

#include <stdio.h>

#include <graphics.h>

main()

{

int grdriver=DETECT,grmode,grerror;

int pattern;

initgraph(&grdriver,&grmode,"c:\\tcpp\\bgi");

if ((grerror=graphresult()) < 0) /* if (...)!= grOk */

{

printf("ОШИБКА initgraph: %s\n",grapherrormsg(grerror));

exit(1);

}

setcolor(GREEN);

setlinestyle(SOLID_LINE,pattern,NORM_WIDTH);

line(33,35,73,75);

setlinestyle(SOLID_LINE,pattern,THICK_WIDTH);

line(73,75,123,125);

setlinestyle(DOTTED_LINE,pattern,THICK_WIDTH);

line(123,125,173,175);

setlinestyle(CENTER_LINE,pattern,THICK_WIDTH);

setcolor(WHITE);

line(173,175,223,225);

setlinestyle(DASHED_LINE,pattern,THICK_WIDTH);

setcolor(RED);

circle(150,150,50);

setlinestyle(USERBIT_LINE,pattern,THICK_WIDTH);

setcolor(YELLOW);

line(303,305,473,475);

getch();

closegraph();

}

Можно запустить пример из Help языка С (С++). Для этого его надо скопировать по опции Edit/Copy example в окно редактирования программы и указать в initgraph() путь для BGI (в Help - текущий каталог).

Существуют также функции, обратные функциям типа "set". Они начинаются с символов "get":

getcolor() - возвращает текущий цвет рисования;

getlinesettings(...) - возвращает текущие стиль линии, шаблон и толщину.

 

<== предыдущая лекция | следующая лекция ==>
Инициализация и деинициализация графического режима | Рисование сплошных объектов
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 402; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.