Программалау тілдері жоғары оқу орындарына арналған оқулық



жүктеу 2,9 Mb.
Pdf просмотр
бет65/82
Дата19.11.2018
өлшемі2,9 Mb.
#20460
түріПрограмма
1   ...   61   62   63   64   65   66   67   68   ...   82

 
180 
нҥктесімен  қосып,  сызықтарды  тҧйықтап,  ішін  бояйды.  Сызық  типі  мен  бояу 
тҥсі setfillstyle() және setfillpattern() функцияларымен анықталады. 
Шеңбер сызу функциясы 
circle(x, y, r); 
радиусы  (бҥтін сан), центрінің координаталары (х, у) болатын шеңбер сызады.  
Сызық тҥсі setcolor () функциясымен беріледі. Мысалы, қызыл тҥсті 5 шеңбер 
сызайық: 
БұрышБасы,БұрышСоңы,Радиус);'>...  
setcolor(RED); 
for(r=5;r<=25; r+=5) 
  circle(320,240,r); ...  
Доға сызу функциясы – arc(x,у,БұрышБасы,БұрышСоңы,Радиус); 
центрінің  координатасы  (х,  у),  радиусы  берілген  доға  сызады.  БұрышБасы
БұрышСоңы  параметрлері  бҧрышты  градуспен  горизонталь  х  ӛсінен  бастап, 
сағат  тіліне  қарсы  бағытта  береді.  Радиус  параметрі  доға  радиусын  бҥтін 
санмен  береді.  Бҧрыштар  мәні  периодына  сәйкес  эквивалентті  тҥрде  [0..360] 
интервалындағы  мәндерге  келтіріледі.  Мысалы,  arc(х,у,-45,45,r) және  arc(х, 
у, 675, -315,r) шеңбердің бір ширегіне сәйкес бір доғаның екі тҥрде берілуін 
кӛрсетеді.  
    Эллипс доғасын сызу функциясы  –    
     ellipse(x, y, БұрышБасы, БұрышСоңы, rх, rу); 
центрінің  координаталары  (х,  у)  эллипс  немесе  эллипс  доғасын  (11.4  сурет) 
сызады.  БұрышБасы,  БұрышСоңы  параметрлері  доғаның  басы  мен  соңын 
градуспен сағат тіліне қарсы береді. rx, ry параметрлері эллипстің кӛлденең және 
тік  радиустарын  береді.  Эллипс  ӛстері    координаталар  ӛстеріне  параллель 
болады.  
Іші боялған контурлы эллипс салу функциясы – 
 
                                      fillellipse (х,у, rх,rу); 
мҧндағы  х, у – центр координаталары; rх, rу – пикселмен берілген эллипс жар-
ты ӛстері радиустары. Эллипс ӛстері координат ӛстеріне параллель болады. 
Эллипс ағымдағы тҥспен боялып шығады. 
 
Iші боялған дӛңгелек сектор сызу функциясы 
pieslice(x, y, БұрышБасы, БұрышСоңы, Радиус); 
 
17.4 сурет. Эллипс доғаларын салу 
11.4 сурет. Эллипс доғасын салу 


 
181 
радиусы  Радиус,  центрі  (х,у)  нҥктесіндегі  дӛңгелек  сектор  сызады. 
БұрышБасы,  БұрышСоңы  параметрлері  шеңбер  секторының  бастапқы  және 
соңғы бҧрыштарын градуспен сағат тіліне қарсы анықтайды. Егер БұрышБасы 
=  0,  ал  БұрышСоңы  =  360  болса,  онда  pieslice  функциясы  шеңбер  сызып 
шығады. Бҧрыштарды [0..360] шегіне (диапазонына) келтірген соң, сектор мәні 
кіші бҧрыштан мәні ҥлкен бҧрышқа қарай сызылады, сол себепті ОХ ӛсінің оң 
жақтағы бағытын кесіп ӛтетін  сектор  салуға  болмайды.  Сектор  контуры  (доға 
мен  екі  радиус)  сектор  боялған  соң  сызылады,  ал  сызық  типі  мен  қалыңдығы 
setlinеstуlе()  функциясымен  анықталады.  Егер  контурсыз  сектор  салу  керек 
болса, мынадай тәсілді пайдалануға болады (11.5 сурет): 
setcolor (BLACK); setbkcolor (BLUE) ; 
setwritemode (XOR_PUT); setfillstуle (WIDE_DOT_FILL, RED);  
pieslice(200,100,45,90,50); 
 
 
 
 
Іші боялған контурлы эллипс секторын салатын функция  
 
sector (x, у, бұрыш_басы, бұрыш_соңы, rх, rу); 
Бҧл функция pieslice() функциясы тәрізді жҧмыс істейді
// Жазуы бар секторлар sector2.cpp 
#include  
#include  
#include  
#include  
void main() 

int gd=DETECT, gm, i, x, y; 
initgraph (&gd,&gm,"c:\\TC\\bgi");  
setcolor(BLACK); setbkcolor(BLUE); 
setwritemode(XOR_PUT); 
setfillstyle(WIDE_DOT_FILL,RED); 
pieslice(200,100,45,90,50); 
setbkcolor(BLUE); setcolor(RED); 
setfillstyle(1,3); 
x=getmaxx()/2; y=getmaxy()/2; 
pieslice(x,y,270,360,100); 
setfillstyle(1,2); 
pieslice(x,y,0,270,100); 
11.5 сурет. Секторлар салу 


 
182 
settextstyle(1,0,2); 
moveto(x-20,y-40); outtext("75%"); 
moveto(x+20,y+20); outtext("25%");  
getch(); 
closegraph(); 

Тұйық сызықпен қоршалған аймақтың ішін бояу  функциясы     
floodfill (x,у, шекара); 
мҧндағы х, у – боялатын аймақ ішіндегі нҥкте координатасы. Тҧйық аймақты 
қоршаған  сызық  контурында  тесік  болмауы  тиіс,  әйтпесе  бояу  бҥкіл  экранды 
сол  тҥске  бояп  жібереді.  Контур  тҥсі  шекара  тҥсімен  бірдей болуы  тиіс.  Бояу 
тҥсі  мен  типі  setfillstyle()  функциясымен  орнатылады.  Енді  бір  мысал 
келтірейік. 
//боялған шеңберлер, эллипстер салу – kr_krug.cpp 
#include  
#include  
#include  
void main() 
{  
int gd=DETECT,gm,r,x=120,y=240;   
initgraph(&gd, &gm,"C:\\TC\\BGI");    
setcolor(RED); //сызықтар қызыл түсті   
setbkcolor(BLUE); //фон кӛк түсті   
for(r=0; r<80; r++)//концентрлі      
  circle(x,y,r); //80 қызыл шеңбер салу   
setfillstyle(SOLID_FILL,RED);   
x+=200;  circle(x,y,80);  //қызыл шеңбер     
floodfill(x,y,RED); // іші де қызыл 
x+=200;  fillellipse(x,y-150,80,50);//қызыл эллипс  
setfillstyle(SOLID_FILL,GREEN);   
fillellipse(x,y,80,50); //жасыл эллипс  setfillstyle(SOLID_FILL,YELLOW);   
fillellipse(x,y+150,80,50); //сары эллипс  
getch();  
closegraph();  

Терезе ашу функциясы 
Графикалық  режимде экран ішінде ӛз координаталық жҥйесі бар тӛртбҧ-
рышты басқа терезені ашуда қолданылатын келесі функция қолданылады: 
 
setviewport (x1, y1, x2, y2, clip); 
Мҧндағы x1, y1 – терезенің сол жақ жоғарғы бҧрышы координаталары; x2, у2 – 
оң  жақ  тӛменгі  бҧрышының  координаталары;  clip  –  қию  параметрі.Егер  clip 
параметрі 1 болса, онда терезеге сыймайтын бейне элементтері қиылып алынып 
тасталады;  ал  егер  де  ол    0  болса,  терезе  шекаралары  есепке  алынбай,  бейне 
толық экранда кӛрсетіледі. Бҧл функция дҧрыс орындалса, графикалық курсор 
терезенің  координаталар басына орналасады.  


жүктеу 2,9 Mb.

Достарыңызбен бөлісу:
1   ...   61   62   63   64   65   66   67   68   ...   82




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау