Студопедия — Графические функции
Студопедия Главная Случайная страница Обратная связь

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

Графические функции






void far detectgraph(int far *graphdriver, int far *graphmode); – определение доступного видео-драйвера.

void far initgraph(int far * graphdriver, int far *graphmode, char far *pathtodriver);- установка видеорежима.

vo id far setgraphmode(int mode);- установка видеорежима.

void far restorecrtmode(void); - временный переход из графического видеорежима в текстовый.

void far closegraph(void); - закрытие графической системы.

void far setvisualpage(int page); - установка активной видеостраницы.

void far setactivepage(void); -вывод на активную видеостраницу.

Int far getmaxx(void); - определение максимального значения координаты х.

Int far getmaxy(void); - определение максимального значения координаты у.

void far setviewport(int left, int top, int right, int botton, int clip); - установка нового графического окна.

void far getviewsettings(struct viewporttype far *viewport); - получение параметров текущего окна.

Void far moveto(int x, int y); void far moverel(int dx, int dy); - перемещение текущей графической позиции в координаты x, yили на величину dx, dy.

void far setlinestyle(int linestyle, unsigned upattern, int thickness); - установка типа линии.

i nt far getx(void); - получить текущую графическую позицию (х).

Int far gety(void); - получить текущую графическую позицию (у).

void far clearviewport(void); - очистка текущего графического окна.

void far cleardevice(void); - очистить активную видеостраницу.

int far getmaxcolor(void); -определить максимальное количество цветов.

void far setpalette(int colornum, int color); - установка палитры.

void far setbkcolor(int color); -установка цвета фона.

Доступ к пикселям

unsigned far getpixel(int x, int y); - получить текущие параметры пикселя.

void far putpixel(int x, int y, int color); - вывести пиксель с параметрами.

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

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; просмотров: 373. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

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

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия