211
Графикалық режимде шрифт түрін, символдар өлшемін және бағытын
тағайындау мына фнкция арқылы жүзеге асырылады:
settextstyle (шрифт, бағыты, өлшемі);
Шрифт параметрлері:
0
DEFAULT_FONT (стандартты)
1
TRIPLEX_FONT (триплекс типті; TRIP.CHR файлында)
2
SMALL_FONT (кішірейтілген; LITT.CHR файлында)
3
SANS_SERIF_FONT (түзу; SANS.CHRфайлында)
4
GOTHIC_FONТ (готикалық; GOTH.CHR файлында)
Бағыт параметрлері:
0
HORIZ_DIR
(солдан оңға қарай)
1
VERT_DIR
(төменнен жоғары қарай)
Шрифт размерін басқаратын аргумент 1 мен 10 аралығында өзгереді. Ол
әрбір символының қаншаға үлкейетінін көрсетеді.
Геометриялық объектілер сызықтарының сипаттамасы мен қалындығын
тағайындау үшін
setlinestyle (түрі, үлгісі, қалындығы);
функциясы қолданылады.
Қалындық параметрлері:
1
NORM_WIDTH (бір пикселі сызық)
3
THICK_WIDTH (үш пикселді сызық)
Түр параметрі үшін кодтар:
0
SOLID_LINE
(тұтас)
1
DOTTED_LINE (нүктелерден)
2
CENTER_LINE (нүктелер мен тирелерден)
3
DASHED_LINE (пунктирлі)
4
USERBIT_LINE (қолданушымен анықталады)
Үлгі параметрі түр 4 тең болғанда тағайндалады. Сондықтан оны 0-ге тең деп
алуға болады.
Графикалық режимде экрандағы тұйық облысты бояу мүмкінідігі бар. Бояу
стилін тағайындау үшін
setfillstyle (бояу типі, түсі);
функциясы қолданылады.
Бояу типі параметрлерінің мәндері:
0
EMPTY_FILL
фон тұсімен штрихтау
1
SOLID_FILL
көрсетілген түспен тұтас бояу
2
LINE_FILL
горизонталь сызықтармен штрихтау
3
LTSLASH_FILL ///// сызықтармен штрихтау
4
SLASH_FILL ////// қалыңдатылған сызықтармен штрихтау
5
BKSLASH_FILL \\\\\\ қалыңдатылған сызықтармен штрихтау
6
LTBKSLASH_FILL \\\\\ сызықтармен штрихтау
7
HATCH_FILL
тікбұрыштры горизонталь бойынша штрихтау
212
8
XHATCH_FILL қисайтып штрихтау
9
INTERLEAVE_FILL
қисайтып штрихтау
10
WIDE_DOT_FILL сирек орналасқан нүктелемен толтыру
11
CLOSE_DOT_FILL
жиі орналасқан нүктелемен толтыру
Терезелер және координаттармен жұмыс
1. Экранды тазалау мына функция арқылы жүзеге асырылады:
cleardevice ();
2. Берілген графикалық режимде горизонталь және вертикаль бойнша нүктелер
координаттарының максимальді мәнін
getmaxx ();
(горизонталь бойынша максимальді координатаны қайтарады),
getmaxy ();
(вертикаль бойынша максимальді координатаны қайтарады)
функцияларының көмегімен анықтауға болады.
3. Графикалықэкрандағы терезені ашу. Экран нүктелерінің бәр массиві ішінен
ішкі массив - өзінің координаттары бар тікбұрышты терезе ашуға болады. Ол
төмендегі функция арқылы жүзге асырылады:
setviewport (xl, yl, x2, y2, clip);
мұндағы xl, yl – терезенің жоғары сол жақ бұрышының координаттары; х2, у2 –
терезенің төменгі оң жақ бұрышының координаттары; clip – қима (отсечка).
Егер clip параметрі 1-ге тең болса, терезеде симай тұрған сурет элементтері
қиылып тасталады,ал егер 0-ге тең болса терезе шекарасы өзгертіледі.
4. Графикалық терезені тазартуды төмендегі функция орындайды:
clearviewport ();
5. Ағымдағы көрсеткіш координаттарын
getx ();
(горизонталь координатты қайтарады),
gety ();
(вертикаль координатты қайтарады)
функция арқылы алуға болады.
6. Позиция көрсеткішінің орнын ауыстыруды мына функциялар жүзеге
асырады:
moveto (x, у);
moverel (dx, dy);
мұндағы х, у – терезенің координаттар жүйесіндегі жаңа координаттар;
dx, dy – терезедегі көне координаттарға қатысты өсімше.
7. Параметрлер қалпына келтіру үшін
graphdefaults ();
функциясы қолданылады.
Initgraph() тағайындағандай терезе, позици көрсеткіші, түсі, сызық стилі,
шрифттер қалпына келтіріледі.
213
8. Пикселді бейне жадыға жазуды
putpixel (x, у, цвет);
функциясы жүзеге асырады.
Мұндағы х, у – пиксел координаттары. Мысалы мына фрагменттің орындалуы
нәтижесінде
for(i=0; i<160; i++)
{
putpixel (i, 10, GREEN);
putpixel (160+i, 10, RED);
}
жасыл-қызыл түзу сызық шығарылады.
9. Текстті шығару.
Шығарудің стандартты printf(), puts() функциялары графикалық режимде де
жұмыс жасайды. Бірақ онда символдар түрі, өлшемі шектеулі. Шығарылатын
текст стилі settextstyle() функциясымен беріледі.Графикалық текстті шығарудың
екі функциясы бар:
outtext (sp);
ажол ғымдағы көрсеткіштен бастап шығарылады; sp – шығарылатын жолға
Көрсеткіш;
outtextxy (x, у, sp);
жол (х, у) позициясынан бастап шығарылады.
Графикалық объектілерді салу.
1. Сызықтарды үш түрлі функция көмегімен салуға болады:
line (x1, y1, x2, y2);
мұндағы x1, y1 – кесінді басының координаттары; х2, у2 – кесінді аяғының
координаттары.
linerel (dx, dy);
мұндағы dx, dy – ағымдағы нүкте координаттарының өсімшесі. Кесінді ағымдағы
нүктеден жаңа координатты нүктеге дейңн салынады. Көрсеткіш бұрыңғы
нүктеден жаңасына ығысады.
lineto (x, у);
мұндағы х, у – кесінді аяғының жаңа координаттары. Көрсеткіш бұрыңғы
нүктеден жаңасына ығысады.
Кесінділер setlinestyle() функциясы арқылы тағайындалған ағымдағы
стильмен, және setcolor() функциясы арқылы тағайындалған ағымдағы түспен
салынады.
3. Тіктөртбұрыш контурын мына функциямен салуға болады:
rectangle (x1, y1, x2, y2);
мұндағы x1, y1 – жоғары сол жақ бұрыш координаттары; х2, у2 – төменгі оң жақ
бұрыш координаттары.
Егер квадрат салу керек болса, горизонталь және вертикаль бойынша пиксельдер
санын коррекциялау керек. Пиксельдер пропорциясын
getaspectratio (&xasp, &yasp);
Достарыңызбен бөлісу: |