Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Графические примитивы




void far bar(int left, int top, int right, int botton);

void far bar3d(int left, int top, int right, int botton, int depth, int topflag);

void far fillpoly(int numpoints, int far *polypoints);

void far fillelipse(int x, int y, int xradius, int yradius);

void far pielipse(int x, int y, stangle, int endangle, int radius);

void far sector(int x, int y, int stangle, int endangle, int xradius, int yradius);

void far line(int x1, int y1, int x2, int y2);

void far linerel(int dx, int dy);

void far lineto(int x, int y);

void far rectangle(int left, int top, int right, int botton);

void far drawpoly(int numpoints, far *polypoints);

void far circle(int x, int y, int radiuces);

void far arc(int x, int y, int stangle, int endangle, int radius);

void far ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius);

Пример

/* Разработал Гармаш В.Н.

Объявить массивы для вывода текста в графическом режиме,

выполнить их инициализацию. Инициализировать графический режим работы.

Выполнить расчеты и построить заданную геометрическую фигуру.

Вывести тексты на экран с применением необходимых функций. */

#include <graphics.h>

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <math.h>

#include <DOS.H>

#define ANGLES 15

#define PIXEL_COUNT 1000

#define DELAY_TIME 100 /* in milliseconds */

char *str[]={"А","л","ь","ф","а"," ","Ц","е","н","т","а","в","р","а","."};

char st[]="_";

void demo(int x,int y,int size,int color);

void demo1(void);

void main()

{// Инициализация графического режима работы

int graphdriver=DETECT,graphmode,errorcode;

initgraph(&graphdriver,&graphmode,"");

errorcode = graphresult();

if (errorcode != grOk)

{ printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1);

}

//Рисование рамки по контуру экрана

setcolor(9); //Установка цвета

setlinestyle(0,0,3); //Установка типа линии

line(0,0,getmaxx(),0); // Рисование линии

line(0,0,0,getmaxy());

line(getmaxx(),0,getmaxx(),getmaxy());

line(0,getmaxy(),getmaxx(),getmaxy());

setcolor(10); // Вывод текста "ЗАДАНИЕ 19"

settextstyle(GOTHIC_FONT,HORIZ_DIR,4);

outtextxy(260,10,"ЗАДАНИЕ 19");

demo(320,250,125,11); // Функция вывода рисунка

demo1(); // Функция вывода текста "Альфа Центавра"

getch();

closegraph(); // Окончание графического режима работы

clrscr();

}

 

void demo(int x,int y,int size,int color)

{ setcolor(color);

setlinestyle(0,0,1);

int xx[ANGLES],yy[ANGLES],i,j;

for (i=0;i<=ANGLES-1;i++)

{ xx[i]=x+(int)(cos(i*2*M_PI/ANGLES)*size);

yy[i]=y-(int)(sin(i*2*M_PI/ANGLES)*size);

}

for (i=0;i<=ANGLES-1;i++)

{ for (j=0;j<=ANGLES-1;j++)

if (i!=j)

{ line(xx[i],yy[i],xx[j],yy[j]);

}

}

}

 

void demo1(void)

{ int f1 = installuserfont("rtri.CHR"); //Установка шрифта

unsigned int sz;

void far *ptr;

sz=imagesize(10,10,50,50);

ptr=malloc(sz);

getimage(10,10,50,50,ptr);

int size = 2,tt,ff,i;

while(!kbhit())

{ tt=0;

settextstyle(DEFAULT_FONT, HORIZ_DIR, size);

for(i=0; i<3; i++)

{ setcolor(3); outtextxy(260,60,st); delay(90);

setcolor(0); outtextxy(260,60,st); delay(90);

}

setcolor(3); ff=260;

for(i=0; i<15; i++)

{ setcolor(3);

settextstyle(f1, HORIZ_DIR, 4);

outtextxy(260+tt, 50, str[i]);

tt+=textwidth(str[i]);

sound(30); delay(20); nosound();

settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);

outtextxy(260+tt+4, 60, st); delay(40);

setcolor(0);

outtextxy(260+tt+4, 60, st); delay(10);

}

settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);

for(i=1;i<4;i++)

{ setcolor(3); outtextxy(260+tt+4, 60, st); delay(90);

setcolor(0); outtextxy(260+tt+4, 60, st); delay(90);

}

setcolor(3);

ff=tt+260; tt=0;

for(i=14;i>=0;i--)

{ settextstyle(f1, HORIZ_DIR, 4);

tt+=textwidth(str[i]);

sound(30); delay(20); nosound();

putimage(ff-tt, 50, ptr, COPY_PUT);

settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);

setcolor(3); outtextxy(ff-tt-4, 60, st); delay(40);

setcolor(0); outtextxy(ff-tt-4, 60, st); delay(10);

}

}

}


Поделиться:

Дата добавления: 2015-09-15; просмотров: 67; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты