Турбо паскаль программалау тілінде графикалық объекттерді құру

Кіріспе

1. Graph модулі

2. Координаттар, терезелер, беттер

3. Сызықтар мен нүктелер

4. Көпбұрыштар

5. Доғалар, шеңберлер, эллипстер

6. Түстер, палитралар, толтырулар

7. Суретті сақтау және шығару

8. Турбо Паскальдағы графика

9. Графикалық режимді қосу және өшіру

10. Қарапайым суреттерді құру

11. Тексттік ақпаратты шығару

Қорытынды

Қолданылған әдебиеттер тізімі
Берілген жұмыста Турбо Паскаль графикалық режимінде графикалық объекттерді көрсетуге арналған әр түрлі процедуралар мен функциялар қарастырылады.
Монитордың тексттік және графикалық жұмыс істеу режимдерінің айырмашылығы – ол визуалды ақпаратты шығаруды басқару мүмкіндіктері болып табылады. Тексттік режимде экранда көрсетілетін минималды объект – ол алфавиттік-сандық немесе қандай да бір символ болып табылады. Жай жағдайларда алфавитті-сандық режимде жұмыс істеп тұрған монитордың экранында көлденеңінен саны 80-нен аспайтын символдар, ал тігінен саны 25-тен аспайтын символдарболуы мүмкін, яғни, небары 2000 визуалды объекттер. Сондай-ақ, символдарды басқаруда түстер беру жағынан кейбір шектеулер бар. Әрине, мұндай режимде экранға әр түрлі қарпайым тексттермен қатар графикалық суреттерді де шығаруға болады, алайда ол суреттердің түстері анық болмайтындығы түсінікті. Дегенмен, компьютерлік эраның алғашқы кезеңдерінде бұл тәсіл жалғыз болған, сондықтан да ол экранға графиктерді және суреттерді шығарудың ең әйгілі түрі болған(және баспаға шығару). Кейде программистер «копьютерлік псевдографиканың» нағыз туындысын жасайтын болған. Бірақ суреттермен күрделі жұмыстар жасау үшін дисплейдің тексттік режимі пайдалануға келмейді.
Графикалық режимде программистің минималды объектті шығару үшін қолдана алатын бірлігі пиксел болып табылады(ағылшынның «сурет» (picture) және «элемент» (element) сөздерінің бірігуінен пайда болған). Символмен салыстырғанда пикселдің өлшемі аз боллып табылады(тексттік режимде бірнеше пиксел бірігіп бір символды құрайды). Оның геометриялық өлшемдері монитордың шектеулері арқылы анықталады. Монитордың шектеулері rx*ry түрінде беріледі, мұндағы rx – экрандағы пикселдердің көлденеңінен орналасқан саны, ал ry – пикселдердің тігінен орналасқан саны. Практикада туынды шектеулер емес, керісінше шектеулердің белгілі мәндері қолданылады. Мысалы, 320*200, 640*480, 800*600, 1024*768, 1280*1024 және т.б.
        
        Тақырыбы:Турбо Паскаль программалау тілінде
графикалық объекттерді құру
М а з м ұ н ы:
Кіріспе
1. Graph модулі
2. ... ... ... Сызықтар мен нүктелер
4. Көпбұрыштар
5. Доғалар, шеңберлер, эллипстер
6. Түстер, палитралар, толтырулар
7. Суретті сақтау және шығару
8. Турбо ... ... ... ... қосу және өшіру
10. Қарапайым суреттерді құру
11. Тексттік ақпаратты шығару
Қорытынды
Қолданылған ... ... ... ... Паскаль графикалық режимінде графикалық
объекттерді көрсетуге арналған әр ... ... мен ... ... және ... ... істеу режимдерінің
айырмашылығы – ол визуалды ақпаратты шығаруды басқару ... ... ... ... ... ... ... объект – ол
алфавиттік-сандық немесе қандай да бір ... ... ... ... ... ... жұмыс істеп тұрған монитордың
экранында көлденеңінен саны ... ... ... ал ... саны 25-
тен аспайтын символдарболуы мүмкін, яғни, небары 2000 визуалды объекттер.
Сондай-ақ, символдарды басқаруда түстер беру ... ... ... ... ... ... ... әр түрлі қарпайым тексттермен қатар
графикалық суреттерді де ... ... ... ол суреттердің түстері
анық ... ... ... ... ... ... бұл тәсіл жалғыз болған, сондықтан да ол ... ... ... ... ең әйгілі түрі болған(және баспаға шығару). Кейде
программистер «копьютерлік псевдографиканың» нағыз ... ... ... ... күрделі жұмыстар жасау үшін дисплейдің тексттік
режимі пайдалануға келмейді.
Графикалық режимде программистің минималды объектті шығару үшін ... ... ... ... ... «сурет» (picture) және
«элемент» (element) сөздерінің бірігуінен пайда болған). ... ... ... аз боллып табылады(тексттік режимде бірнеше
пиксел бірігіп бір символды құрайды). Оның ... ... ... ... анықталады. Монитордың шектеулері rx*ry
түрінде беріледі, мұндағы rx – ... ... ... ... ал ry – ... ... орналасқан саны. Практикада
туынды шектеулер емес, керісінше шектеулердің ... ... ... 320*200, 640*480, 800*600, ... ... және т.б.
3
1. Graph модулі
Турбо паскальдың Graph модулінің құрамында әр ... ... ... ... ... ... мен ... бар. Сондай-ақ
графикалық программада қолданылуы мүмкін кейбір енгізілген константалар
бар. ... ... ... ... үшін ... ... Graph ... орналастыру керек.
Модульдің негізгі бөлігін нүктелер, кесінділер, доғалар және бүтін
шеңберлер секілді базалық ... ... ... процедуралары
құрайды.
GraphErrorMsg функциясы қатенің көрсетілген коды бойынша сәйкес тексттік
ақпарат беретін String типінің мәнін қайтарады. Бас ... ... (Code: ... String ... Code – ол GraphResult функциясының қайтаратын ... ... ... ... адаптердің жұмысын аяқтайды
және экранның тексттік жұмыс істеу ... ... ... ... терезелер, беттер
Кез-келген сурет қарапайым геометриялық фигуралардан құралады. Олар-
нүктелер, түзулердің кесінділері, шеңберлер және т.б. ... ... ... ... пен оның ... оның координаттық
нүктелерімен беріледі.
Яғни, графикалық ... ... үшін ... объекттердің
координаталарын көрсетуді үйрену керек.
Көптеген графикалық процедуралар мен ... ... ... экрандағы позицияны көрсететін көрінбейтін нұсқауды қолданады.
Бұл нұсқаудың орналасуы экрандағы ... ... ... сол ... ... ... беріледі(оның координаты 0,0). Сонымен, экранның
көлденең координатасы ... оңға ... ал тік ... ... ... ... және GetMaxY ... жұмыс істеудің ағымдағы (сәйкесінше
көлденеңінен және тігінен) режиміндегі ... ... ... Word ... ... ... ... графикалық экранда тік бұрышты терезе құрады.
Бас тақырыбы:
Procedure ... ClipOn: ... ... – ол сол жақ ... ... және оң жақ ... (У1,У2)
терезенің бұрыштарының координаталары; ClipOn –ол суреттер элементтерінің
терезесіне сыймай ... ... ... Boolean ... амал.
ClearDevice процедурасы графикалық экранды тазартады. Процедураға сілтеу
жасалғаннан кейін, меңзер сол жақ жоғарғы бұрышқа
4
орналастырылады, ал ... өзі ... ... ... ... ... Сызықтар мен нүктелер
PutPixel процедурасы берілген координаттар бойынша нүктені берілген ... ... Бас ... PutPixel (Х,У: Integer; Color: ... Х,У – ол ... ... Color – нүктенің түсі.
Line поцедурасы басы мен ... ... ... түзу ... ... Line (Х1,У1,Х2,У2: Integer);
Мұндағы Х1...У2 – ... басы ... мен ... ... Сызық ағымдағы стиль және түс бойынша сызылады.
SetLineStyle поцедурасы сызылатын сызықтардың жаңа стилін ... ... ... (Type, Pattern, Thick: ... Type, Pattern, Thick – ол ... сызықтың типі, үлгісі және
қалыңдығы.Сызықтың типін төмендегідей константалар арқылы ... ... ... сызық)
DottedLn=1; (нүктелік сызық)
CenterLn =2;(штрих-пунктирлі сызық)
DashedLn =3;(пунктирлі сызық)
UserBitLn ... өзі ... ... суреті)
4. Көпбұрыштар
Recstangle процедурасы бұрыштарының координаталары көрсетілген тікбұрыш
сызады. Бас ... ... ... ... ... – ол тікбұрыштың сол жақ жоғарғы ... және оң ... ... бұрыштарының координаталары. Тікбұрыш ағымдағы стиль ... ... ... ... ... ... процедурасы шеңбер сызады. Бас тақырыбы:
Procedure Circle (Х, У: Integer; R: Word);
Мұндағы Х, У – ол центрдің ... R – ... ... ... ... ... ... Сызықтың қалыңдығы ағымдағы стилмен
айқындалады, сызықтың түрі әрқашанда SolidLn (түзу).
5
Процедура дұрыс еңберді радиустың сызықтық ... ... ... ... ... ... ... бойынша)сызады, яғни
GetAspectRatio коэффициентін ескере отырып.
Arc процедурасы шеңбердің доғасын сызады. Бас ... Arc (Х, У: Integer; BegA, EndA, R: ... Х, У – ол ... ... BegA, EndA – сәйкесінше доғаның
бастапқы және соңғы бұрыштары; R – пикселмен берілген радиус.
Бұрыштар сағат ... ... ... және ... ... Нөлдік
бұрыш вектордың солдан оңға қарай көлденең бағытына сәйкес келеді. Егер
бастапқы бұрыштың мәнін 0 деп, ал ... ... ... 359 деп көрсетсе,
онда ... ... ... ... ... сызу ... Circle
процедурасында сызықтың радиусына қатысты айтылған ережелер сақталады.
Ellipse процедурасы эллипстік доға сызады. Бас тақырыбы:
Procedure Ellipse (Х, У: Integer; BegA, EndA, Rx, Ry: ... Х, У – ол ... ... BegA, EndA – ... доғаның
бастапқы және соңғы бұрыштары; Rx, Ry – эллипстің пикселмен берілген
көлденең және тік ... ... сызу ... Circle ... ... ... ... ережелер сақталады және бұрыштарға қатысты ... ... ... Егер радиустарды GetAspectRatio –ің
масштабты коэффициентін ескеріп сәйкестендіретін болсақ, онда ... ... ... ... ... ... ... енгізілетін сызықтар мен символдардың ағымдағы
түсін орнатады. Бас тақырыбы:
Procedure SetColor (Color: ... Color – ол ... ... түсі тек қана қоңыр болатын тексттік режимге қарағанда, графикалық
режимде ол түс ... бола ... ... жаңа түсін орнату сол мезетте
графикалық экранның түсін өзгертеді. Бұл дегеніміз, суреттің екі ... әр ... түс ... ... ... сөз. ... рұқсаты бар
режимдегі GGA адаптеры үшін фонның түсін өзгерту кезінде ағымдағы ... ... түсі де ... ... ... ... түсін 0-ден
(Black) өзгеше түске өзгертсек, онда бұдан ... қара ... ... боламыз. Ол біздің бұдан былай фонға қара ... ... ... де ... ... ... экранмен жабдықталған болса, онда
келесі программа SetBkColor процедурасының жұмысын көрсетеді. Программадан
шығу үшін кез-келген тетікті басу ғана ... ... ... (тип және түс) орнатады. Бас тақырыбы:
6
Procedure SetFillStile (Fill, Color: Word);
Мұндағы Fill – толтырудың типі; Color- толтырудың түсі.
FloodFill ... ... ... ... пайдалану арқылы бүтін
фигураны толтырады. Бас тақырыбы:
Procedure FloodFill (Х, У: Integer; Border: Word);
Мұндағы Х, У – ол ... ... ... кез-келген нүктенің
координаталары. Егер фигура бүтін болмаса, онда толтыру бүкіл экранға
төгіледі.
7. Суретті сақтау және шығару
Image Size ... ... тік ... ... ... үшін
қажетті жадының өлшемін береді (байт түрінде). Бас тақырыбы:
Function Image Size (Х1,У1, Х2, У2: Integer) ... ... – ол ... ... сол жақ ... ... және ... төменгі (У1,У2) бұрыштарының координаталары.
GetImage процедурасы сурет фрагментінің тік бұрышты көшірмесін ... Бас ... GetImage ... Х2, У2: Integer; var ... ... – ол ... ... сол жақ жоғарғы (Х1,У1) және оң
жақ ... ... ... ... Buf – суреттің фрагменті
көшірілетін алаңның орны.
Buf өлшемі Image Size функциясының Х1...У2 координаталарымен қайтаратын
мәнінен аз ... ... ... ... GetImage ... ... орналастырған
суреттің фрагментін экранның берілген бөлігіне шығарады. Бас ... PutImage (Х, У: Integer; var Buf; Mode: ... Х, У – ол ... ... ... болашақ орнының координаты;
Buf – суреттің алынатын орнының айнымалысы; Mode – көшірме жасау ... ... ... оң жақ ... ... ... ол ... экранға көшірілетін фрагменттің
көшірмесімен анықталады. Сол жақ ... ... ... ... ... тек қана көшірелетін сурет экранға сыятын болса болғаны.
8. Турбо Паскальдағы ... ... ... ... ... графикалық режимдегі терезе
көптеген нүктелерге бөлінген және сол ... ... ... бір түсі бар ... мүмкін. Нүктелердің барлығы бірдей және тік
бұрышты болып саналады, ... ... ... ... яғни ... қай ... орналасқандығын көрсетуге болады.
7
Графикалық режимде бағандар мен жолдардың нөмірлері ... ... ... яғни ... әрқашанда бүтін
санды. Графикалық режимде координаттар басы экранның сол жақ ... ... х осі оңға ... ал у осі ... ... кетсек, әр түрлі графикалық ... ... бар. ... және ... орналасқан нүктелерінің санымен ерекшеленеді,
сондай – ақ мүмкін ... ... ... ... 320*200*16,
640*480*16, 640*200*16, 800*600*256 және т.б.
9. Графикалық режимді қосу және өшіру
Графикалық режимді іске қосу үшін ... (driver, mode, ... ... Енді оның ... жеке қарастырып өтейік:
Driver – Integer ... ... ... ... орнатылған
видеоадаптердің типі беріледі. ... әр ... ... ... анықталған. Олардың көмегімен біз сандарды есте ... ... ... бар: CGA, EGA, EGA 64, EGA Mono, VGA, MCGA,
IBM8514 және т.б. Біз үшін ... ... ... – ол detect. ... барысында InitGraph өзі копьютерде орналасқан адаптермен сәйкес
келетін адаптердің қуатты типін іздеп табады.
Mode - Integer ... ... Ол ... ... ... ... істеу
режимін көрсетеді. Әрбір видеоадаптер бірнеше режимде жұмыс ... ... VGA-да ... (VGALo), ... ... ... Егер бірінші параметрде detect мәні көрсетілген ... ... mode ... ... ... ... ең ... деп тапқан
режимін орнатады.
path – жолдық параметр. Ол драйверлер сақталынатын «bgi» ... ... ... ... Егер олар ... ... ... онда
параметр бос жолға тең болады.
әдетет графиканы іске қосу үшін біз ... ... ... ... graph = ‘Y: \WIN APPS \ BP \ BGI’
Var gd, gm: integer;

begin

gd:=Detect;
InitGraph (gd, gm, graph);
...
Графикалық ... ... ... ... ... көшу ... ... қолданылады.
8
10. Қарапайым суреттерді құру
Графикалық режимде координаттар басы экранның сол жақ жоғарғы бөлігінде
орналасады, х осі оңға ... ал у осі ... ... ... элементтерін құру кезінде функцияның ... ... А т ы | Қ ы з м е т і ... (x, y: integer; c: word); |с ... пайдаланып (х,у) нүктесін |
| |қою. ... ... ... 0-ден |
| |15-ке ... ... ... |
| ... орнына Graph модулінің |
| ... ... ... |
| ... ... (c: word); ... ... және т.б |
| ... үшін ... түсті орнату. Бұл |
| ... ... ... барлық |
| ... сол ... ... ... (c: word); ... ... ағымдағы түсін орнату.|
|GetMaxX; GetMaxY; |Бұл ... х және у |
| ... ... |
| ... ... ... ... |
| ... ... (x1, y1, x2, y2: ... |(х1, ... (х2, ... ... |
| ... салу. ... (x1, y1, x2, y2: ... ... (х1, у1), ал оң ... |
| |(х2, у2) ... тік ... ... ... ... ... (x, y: integer; r: word); ... ... ... тең |
| ... ағымдағы түспен сызады. |
|Arc (x, y: integer; a1, a2, r: ... ... ... а1 және а2 ... |– ... ... және ... |
| ... ... ... ... ... |
| ... саналады, 0-ге тең бұрыш у=0,|
| |x>0 ... ... ... ... (x, y: integer; a1, a2, xr, |а1 ... а2 ... дейін xr |
|xy: word); ... yr ... ... бар ... |
| ... сызады. ... (n: word; P); ... ... ... ал |
| ... ... ақпарат Р |
| ... ... ... ... (x, y: ... |Бұл ... ... (х,у) |
| ... есте ... ал |
| ... ол ... ... |
| ... ... ... (x, y: ... ... орыннан бастап (х,у) |
| ... ... ... ... |
| ... позиция сызылған кесіндінің |
| ... ... ... (dx, dy: ... |Ағымдағы меңзерді (х,у) нүктесінен |
| |(х+dx, у+dy) ... ... ... (dx, dy: ... |(х,у) ... (х+dx, у+dy) |
| ... ... ... ... |
| ... ... GetY; ... ... ... |
| ... ... ... Device; ... ... ... ... процедуралардың барлығы тек қана контурлы суреттер салады
(тік бұрышты, шеңберді немесе эллипстің ішін боямайды). SetLineStyle (Type,
Pattern, Thick: Word) поцедурасы сызылатын ... жаңа ... Осы ... ... ... ... Style – ... стилі. Бұл жерде нақты сандарды көрсеткеннен гөрі
келесідей ... ... ... SolidLn, DottedLn,
CenterLn, DashedLn, UserBitLn. Біріншісі толық сызықты ... ... ... – үзік ... ... – қолданушының өзі анықтайтын
сызық түрін білдіреді.
2. Pattern – қолданушының өзі анықтайтын ... ... Бұл ... ... ала ... ... жұмыс істейді. Үлгі – бұл сан
түрінде көрсетілген сызықтың фрагменті. Нақты фрагменттен санға ... ... ... ... 12 8 ... ... ... ... ... түрге келтіру керек,біздің
мысалда $ 999C шығады.
3. Width – сызықтың қалыңдығы. Сандарды қолдануға ... ... ... ... ... және Thick Width (жай және қалың сызық).
Енді боялған фигуралардың суретін ... ... Түсі ... ... ... іші ақ түспен боялады. Бояудың түсі мен түрін
басқаруды SetFillStуle (Fill, Color: Word) ... ... ... ... Stуle үшін де ... ... ... EmptyFill,
SolidFill, LineFill, LtSlashFill, SlashFill, BkSlashFill, LtBkSlashFill,
HatchFill, X ... ... ... ... – бояудың жоқтығын білдіреді, екіншісі – толық бояуды, ... ... әр ... ... ал ... – қолданушының өзі орнататын
бояуының түрін білдіреді.
Бояудың бұл соңғы түрін ... үшін ... ... Color: Word); ... array [1…8] of ... ... ... ... ... бояу үлгісінің бір жолын
кодтайды, ал ... ... саны 8. ... бояу 8*8 ... ... ... боялған фигуралардың суретін салудың мысалы келтіріледі.
| А т ы| Қ ы з м е ...... (x1, y1, x2, y2: ... ... тікбұрыш сызады |
|FillEllipse (x, y: integer; xr, xy: ... ... ... | ... (n: word; P); ... ... ... (x, y: integer; a1, a2, r: ... ... ... ... | ... (x, y: integer; a1, a2, xr, ... ... бояйды |
|xy: word); | ... (x, y: integer; Cborder: ... (х,у) ... ... Ол ... ... Cboder-на жеткенше ағыла |
| ... Егер ... ... жоқ ... ... ол ... болмаса, онда бояу |
| ... ... ... ... ... ... шығару
Текстті экранға шығару үшін екі процедура қолданылады:
1. OutText (s: string). Бұл процедура s ... ... ... ... яғни шығарылатын жолдың сол жақ жоғарғы бұрышы ... ... Ал ... ... MoveTo ... орнатылады.
2. OutTextXY (x,y: integer; s: string). Жолды белгілі бір нақты позицияға
шығару үшін қолданылады.
Егер қандай да бір ... ... ... ... онда оны ... ала жолға
айналдырып алу керек. Мысалы, Str процедурасының көмегімен.
Мысалы:
Var r: ... ... (r, ... (100, 200, ‘ =’ ... ... текстті шығару үшін шрифттердің әр түін қолдануға мүмкіндік
береді. Сондай-ақ, текстті шығарудың бағытын және ... ... Ол үшін ... ... ... ... (Font,
Direction, CharSize: word).
Енді бұл процедураның параметрлері үшін ... ... мен ... ... – 8*8 өлшемді шрифт
TriplexFont – жартылай қалың шрифт
SmallFont – жұқа ...... ... ... бағыты мен орналасуы):
0 – солдан оңға қарай қарапайым шығару
1 – төменнен жоғарыға
2 – солдан оңға қарай, ... ... ...... ... ... 10-ға ... бүтін сандар).
Текстпен жұмыс істеудегі келесі ... – ол ... ... ... оны ... Ол үшін ... (horiz, wert: word)
процедурасы қолданылады. Horiz көлденеңінен берілген позицияға қатысты
тексттің қалай ... ... ал wert – ... ... қатысты тексттің қалай орналасқандығын көрсетеді. Мүмкін болатын
константалар:
Horiz үшін:
Lefttext – берілген позиция жолдың сол жақ қыры ... ...... ... ... ортасы болып табылады
RightText – жолдың оң жақ қыры болып табылады
Vert үшін:
BottomText – ... ... ... ... ...... бойынша орналасады
TopText – позиция суреттің жоғарғы жағы болып табылады
12
Қорытынды
Қорыта келе ... ... бұл ... ... ... паскаль
программалау тілінде графикалық объекттерді құруға ... ... ... ... суреттелді.
Мен жоғарыда көрсетілген процедураларды практика жүзінде ... әр ... ... мен ... ... ... Сонымен қатар,
олардың түстерін өзгертіп, оларға әр түрлі амалдар қолдандым және олардың
қимылдарын ... бұл ... жазу ... ... ... графикалық
мүмкіндіктерімен танысып, оларды жана-жақты ... ... ... ... әр ... ... көбұрыштырдың,
шеңберлердің және тікбұрыштардың координаттарын нақты анықтауды үйрендім.
Енді осы жазылған рефераттық жұмыс оны ... ... өз ... ... ... ... Паскальдің графикалық мүмкіндіктерін барынша
тиімді пайдалануына көмектеседі деген сенімдемін.
13
-----------------------
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1

Пән: Информатика
Жұмыс түрі: Материал
Көлемі: 12 бет
Бұл жұмыстың бағасы: 300 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Вирус және олармен күрес26 бет
Деректер базасына информациялық талдау19 бет
Нысанды программалар18 бет
Технологиялық машиналарды АЖЖ (автоматтандырылған жобалау жүйесі)24 бет
Қазақстандағы туризм инфрақұрылымның даму факторлары. Көлік түрлерінің қазіргі жағдайы35 бет
Паскаль тілінде графикалық режиммен жұмыс20 бет
Turbo Pascal жүйесіндегі графиканы ұйымдастыру технологиясы21 бет
Паскаль тіліндегі модульдер29 бет
Турбо паскаль графикалық режимі30 бет
Adobe Photoshop – графикалық редакторы12 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь