Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП для экзаменов.docx
Скачиваний:
12
Добавлен:
01.07.2025
Размер:
288 Кб
Скачать
☆

10. Графикалық режим орнату, одан шығу, мәтін жазу, сызық салу функциялары

Cи тілінде растрлық графика жұмыс істейді, оның тақырыптық файлы graph.h. График нүктелерден – пиксельдерден тұрады. Пиксель – экранның адрестелетін ең кіші элементі. Алдымен графика шығара алатын бейнережимді іске қосу керек. Мұнда экранның пик­сель­­мен берілген мөлшері және түстер саны беріледі.

   

Графикада үш координаталық жүйе: абсолюттік, салыс­тырмалы және масштабталған жүйе қолданылады. Тіке және көлденең өстер бойынша пиксельдер саны экран типіне байланысты болады.

Абсолюттік координатада координаталар басы – (0;0) нүктесі сол жақ жоғарғы бұрышта болып саналады, х координатасы солдан оңға қарай,  у координатасы жоғарыдан төмен қарай өседі.

   

Салыстырмалы режимде координаталар басы экранның кез кел­ген нүктесіне ауыстырыла алады.

   

Масштабталатын режимде экран бетінде масштабталған коор­ди­на­талар беруге болады, ондах пен у өстері бойынша минимум және максимум мәндер енгізіп, жұмыс істеуге мүмкіндік бар.

 

Графикалық режимде экраннан курсор көрінбейді. Дис­плей экранының бетіне (кейін қағазға) нүкте, түзу немесе қисық сызық, шеңбер, эллипс және кез келген тұйық сызық сызып шығаруға болады. Сонымен қатар тұйық сызықтардың ішін әр түрлі түске бояп қою мүмкіндіктері де бар. Сызықтарды жылжыту, айналдыру және басқа орынға көшіру арқылы көрнекі бейнелер мен мультфильмдер жасауға болады.

График тұрғызу үшін оны шығару немесе бастау нүктесін көрсету қажет. Мәтіндік режимде ол курсор позициясы болып саналады, ал графикалық режимде көрініп тұратын курсор жоқ, бірақ экранда көрінбейтін курсор тәрізді сілтеме белгі CP (current poіnter) бар. Негі­зінде оны да курсор деп қабылдауға болады.

Driver параметрі бейнелік жүйе драйверін анықтайды, Mode параметрі – бейнелік жүйе жұмыс режимін береді, ал Path параметрі – драйвер файлының орнын көрсетеді.

Көбінесе Driverпараметрі мәніретінде detect болатын бүтін константа қолданылады. Мұндайда init­graph функциясының өзі графикалық драйвер типін анықтап, ең дұрыс режимді таңдап алады.

Тақырыптық файлы: <graphics.h>

Драйвер дұрыс оқылған соң, initgraph( ) функциясы 4К көлемінде (келісім бойынша) ішкі  графикалық буфер ұйымдастырады да, экран түсі, сызықтар түсі анықталып, дисплей адаптері графикалық режимге кіреді. Экран тазаланып, курсор сол жақ жоғарғы бұрышқа орнаты­лады.

Егер BGI-файлдар ағымдағы бумада болса, initgraph() функция­сының үшінші параметрі ретінде бос орын мәнін беруге болады

initgraph(&Driver,&Mode," ");

Графикалық  режимнен шығу және оған бөлініп берілген жады бөлігін босату үшін, яғни бейнеадаптер буферін тазартып, бұған дейін­гі мәтіндік режимді қалпына келтіру мақсатында мына функция қолда­нылады

closegraph();

Графикалық режимде сызық түстерін, тұйық сызықтар ішін түрлі түске бояуға болады. Ол үшін мәтіндік режимдегідей түстер кодтары және олардың ағылшынша атаулары қолданылады.

Графикалық режимнен уақытша мәтіндік режимге ауысу мақсатында мынадай функция қарастырылған                           

restorecrtmode();

Ол  initgraph() функциясын пайдаланғанға дейінгі болған мәтіндік режимді қайта орнатады;буферде  (экран көрінісі де) сақталған мәтін қалпына келмейді, өйткені ол initgraph()функциясы арқылы өшірілген болатын.

Графикалық режимге қайтып оралу мына функция арқылы атқарылады                          

setgraphmode(gm); 

функция аргументі ретінде қолданылған драйверге қатысты режимнің бүтін сан түріндегі нөмірі қарастырылады.

Курсор орнын анықтау функциялары

getx();  gety();

Функциялары курсор тұрған орын координаталарын  х (у) береді.

                                   maxx(); getmaxy();

getmaxx() функциясы экранның оң жақтағы ең шеткі нүктесінің x координатасын анықтайды, ал getmaxy() функциясы — экранның ең төменгі у нүктесі координатасын анықтайды. 

Сызықтар түсін тағайындау функциясы

setcolor(col);

мұндағы сol – түс атауы немесе түс коды. Сызық және мәтіндер түсі осы функциямен беріледі. Ал сызық типі setlinestyle() функ­ция­сы арқылы тағайындалады.

Түстер бүтін сан түріндегі кодпен немесе константа түрінде бас әріп­пен жазылатын ағылшынша түс атауларымен беріледі.

Мәтін шығару функциялары

Графикалық режимде экранға мәтін шығарарда символдар көле­мін, бағытын (тік, көлденең), бекітілген бірнеше қаріп түрінің бірін таңдау мүмкіндіктері бар. Осындай символдарпараметрлері мына­дай функция арқылы беріледі:

settextstyle(Қаріп,Бағыты,Көлемі);

outtextxy және outtext функциялары арқылы шығарылатын мәтіндердің қаріп түрін, көлемін және бағытын тағайындайды. Қаріп (шрифт) параметрі ретінде төмендегі константалардың бірін пайдалануға бо­лады.

Константа                 Мәні               Қаріп типі

 

DEFAULT_FONT                0          Стандартты. Әрбір  символ8 х 8 пиксел                                     көлемдегі квадрат ішіне шығарылады.

 

TRIPLEX_FONT                  1          Triplex шрифті(TRIP.CHR файлы)

 

SMALL_FONT                     2          Майда шрифт (LITT.CHR файлы)

 

SANSSERIF_FONT3          SansSerif тік шрифті (SANS.CHR файлы)

 

GOTHIC_FONT                   4          Готикалық шрифт (GOTH.CHR файлы)

Экранға мәтін шығару функциясы

outtext (“Мәтін”);

 

қостырнақшаға алынған мәтінді курсор тұрған орыннан бастап экранға шығарады. Мәтін ішінде басқару символдары болмауы тиіс, мысалы, \n.

Шығарылатын символдар түсі setcolor, шрифт типі — settextstyle функцияларымен беріледі. Мысалы:

setcolor(4); moveto(250,10);

outtext(“Омаров Марат”);

Түрлі сызықтар салу үш функция арқылы орындалады

1) line (x1,y1,x2,y2);

 

x1,y1 нүктесінен x2,y2 нүктесіне дейін сызық сызады, бірақ мұнда курсор орны өзгермейді.

 

2) lineto (x,y);

 

Курсор тұрған нүктеден х,у нүктесіне дейін сызық салады, мұнда курсор бұрынғы орнынан жаңа орынға ауысады.

3)  

linerel (dx,dy);

 

Курсор тұрған х,у нүктесінен х+dx,у+dy нүктесіне дейін сызық салады, яғни сызық координаталары салыстырмалы түрде беріледі. Мұнда да курсор бұрынғы орнынан жаңа орынға ауысады.

Сызықтар осыған дейінгі setcolor()  функциясы тағайындаған түс­пен және setlinestyle() функциясы арқылы орнатылған стильмен сызылады.