Турбо Паскаль графиктік режимі

Турбо Паскаль программалау тілінде символдық режимнен бөлек графиктің режимде жұмыс істеуге болады. Онда әртүрлі графиктік кескіндер құрастыру мүмкіндігі бар. Турбо Паскаль графиктік мүмкіндіктерін пайдалану үшін арнайы «GRAPH» кітапханасы пайдаланылады, іске қосылады. GRAPH модулінің графиктік процедуралары мен функцияларын қолданып орналасқан процедуралар құрастыруға болады. GRAPH модулінде орналасқан процедуралар мен функцияларды пайдалану үшін программаның сипаттау бөлімінде көрсетіледі:

USES GRAPH

Графиктермен жұмыс істеу алдында оған сәйкес келетін монитор режимін орнату қажет. Турбо Паскаль тілінде алдын ала бекітілген фрайверлер саны бар. Олардың әрқайсысы үшін үш түрлі режимдердің бірінде жұмыс істей алады. Драйвер типі оның режимі санмен немесе тұрақты түрінде берілген болады.

Драйвер Режим Нүктелер саны Файл
CGA (1) CGACO, CGAHi 320×200(640×200) CGA. BGI
EGA (2) EGALo, EGAHi 640×200(640×350) EGAVGA. BGI
VGA (3) HERAHi ONOHI 720×348 HERC. BGI

GRAPH модулі іске қосылысымен оынң ішіндегі процедуралардыі және функцияларды беруге болады.

Графикалық режимді іске қосу:

InitGraph(Var Driver, Mode: integer; Path:string);

Мұндағы Driver – графикалық режимдегі анықтайтын параметр;

Mode – орнатылған врайверге байланысты берілетін графиктік режим параметрі;

Path – графиктік фрайаер файлының атауы және жолы;

Driver мәні GRAPH модулінде хабарланған тұрақтылар жиынымен шектеледі.

Тұрақты атауы Сандық коды
T 0
CGA 1
MCGA 2
EGA 3
EGA64 4
EGAMono 5
IBM8514 6
HercMono 7
ATT400 8
VGA 9
PC3270 10

GraphResult қате орындалған графиктік операциялардың кодын шығарады. Функция жазылуы:

GraphResult: Integer;

Тұрақты атауы Коды Анықтамасы
GrOk 0 Қате жоқ
GrNolitGraph -1 Графиктік режим анықталмаған
GrNotDetected -2 Адаптер типі анықталмаған
CrFileNotFound -3 Драйвер файлы табылмады
GrInvalidDriver -4 Анықталмаған файлда драйвер табылмады
GrNoLoadMem -5 Драйверді жүктеуге жады көлемі жетпейді
GrNoScanMem -6 Аймақты қарастыруға жады көлемі жетпейді
GrNoFloodMem -7 Аймақты толтыруға жады жетпейді
GrFontNotFound -8 Қаріп файлы табылмады
GrNoFontMem -9 Қаріп файлы табылмады
GrlnvalidMode -10 Анықталған драйверге сәйкес келмейтін режим
GrError -11 Жалпы қате
GrOerror -12 Енгізу-шығару қатесі
GrlnvalidFont -13 Қаріптің дұрыс емес пішімі
GrlnvalidFontNum -14 Қаріптің номері дұріс емес

SetLineStyle түзудің жаңа түрін белгілейді.

Тұрақты атауы Коды Түсініктемесі Кескіні
SolidLn 0 Түзу сызық ______________
DottedLn 1 Нүктелі сызық …………………
CentreLn 2 Штрих-пунктир .-.-.-.-.-.-.-.-.-.-.-.-
DashedLn 3 Пунктир — — — — — — — — — — — — —
UserBitLn 4 Қолданушы анықтайды

Түсті монитордың мәтіндік режимінде әр символдың түсін не экранды 16 түрлі түстің біреуіне бояуға мүмкіндігі бар. Сары, жасыл, көк, қызыл, және т.б. көптеген түрлі түстер.

Турбо Паскальдың графикалық режимінде пайдаланылатын 80-ге жуық процедуралар мен функциялар бар болып келеді. Экранның кез келген х, у айқындалмаған позициясынан бастап мәтінді экранға шығаруға болады.

Қазіргі дербес компьтерлердің графикалық информацияларды енгізу, шығару және өңдеуге арналған техникалық құрылғылары бар. Графикалық информацияны енгізу үшін – сканер, ал шығару үшін – дисплей экраны және плоттер пайдаланылады. Стандартты Турбо Паскальдың шрафикалық информациямен жұмыс істейтін қомандалары жоқ.

Турбо Паскаль жүйесінде графикалық информациялармен жұмыс істеу үшін арнайы модуль пайдаланылады, оны біз жоғарыда айтып өттік. Бұл модульде графикалық процедуралар мен функциялардың программасы машиналық тілде жазылған.

Турбо Паскальдің графикасын, көбінесе, псевдо-графика деп атайды. Өйткені тілдің өзінде графикалық командалар келтірілмеген. Арнайы модульде графикалық информацияларды дисплеф экранына шығаруға және өңдеуге арналған командаларды сүйемелдейтін типтен, тұрақтылар, айнымалылар, процедуралар мен функциялар сипатталған.

Әдетте дисплей экраны екі режимдеболады: текстік және графиктік. Екі режимде де пиксель деп аталатын дисплей экранының физикалық нүктелері пайдаланылады. Графикалық режимде графикалық нүктелердің өзінің координаттар жүйесі енгізіледі.

Экрандағы графикалық бейне экранның буферінің күйіне байланысты графикалық нүктелердің жарықталуынан құралады. Экран буфері дегеніміз – бұл графикалық экранда әрбір пиксельдің жарықталыну түсі мен белгісі кодталған оперативті жадының бөлігі. Пайдаланылған графикалық экранның режиміне, дисплейдің типіне және жадының көлеміне тәуелді графикалық экран үшін бір немес бір неше буфер ұйымдастырылуы тиіс немесе мүмкін. Мұндай экран тек бір ғана бетпен байланысты болуы мүмкін. Графикалық информацияны сол мезетте шығаруғы бағытталған буфер екпінді бет, буфер деп аталады.

Визуалды көрінетін бет не буфер деп сол мезетте физикалық экранмен байланысты буферді айтады. Активті бет визуалды беттердің әртүрлі буферлері болуы мүмкін. Активті бет визуалды беттердің әртүрлі буферлері болуы мүмкін.

Активті бет визуалдылық деп аталады. Дәлірек, айтсақ, бет дегеніміз – экранның графикалық информацияны, ал буфер – информацияны қодталған күйінде сақтайтын жады бөлігі.

Текстік экран тәрізді графикалық экранның да крусоры бар.

Графикалық курсордың текстік курсордан айырмашылығы графикалық курсор барлық уақытта көрінбейді. Графикалық курсор соңғы шығарылған нүктеден кейінгі нүктеге орналасады. Ол арнайы модульдің кейбір функцияларымен пайдаланылады.

Графикалық режимнің төмендегідей сипаттамалары бар:

  1. Мүмкіндігі;
  2. Палитра – бояу түрлері;
  3. Фонның түсі;
  4. Шығарылатын графикалық нүктенің түсі;
  5. Оперативті жадыдағы графикалық экрандық беттердің мөлшері.

Бұл сипаттамалар, ең алдымен, дисплейдің техникалық типімен жүйеден графикалық режимге бөлінген видео жадының көлеміне тәуелді. Дисплей экранының жұмысын басқаратын техникалық таралған адаптерлердің түрлері көп.

Экранның графикалық режимінің мүмкіндігі экрандағы х, у осі бойынша орналасып, графикалық нүктелердің мөлшерімен анықталады. Ең жоғарғы мүмкіндік бір графикалық нүктеге бірнеше пиксель пайдаланылса, онда мүмкіндік төмендегідей болады. Сонымен графикалық нүктеге пиксель қаншалықты көп пайдаланылса, соншалықты экранның графикалық режимінің мүмкіндігі төмен болады. Әдетте, бір нүктеге бір пиксельден келетін жоғарғы мүмкіндікті режим пайдаланылады.

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

Палитра не бояулар дегеніміз – бұл графикалық режимге арналған түстер жиынтығы. Режимге арналған бірнеше палитралар бар, бірақ әдетте стандартты 16 түс пайдаланылады.

Экрандық режимнің графикалық экрандық беттерге арналған бір немесе бірнеше буфері болады.

Ең жоғарғы мүмкіндігті режимде тек бір ғана графикалық экрандық бет болады, яғни оны кодтау үлкен жады көлемін қажет етеді. Сөйтіп, х осі бойынша 640 нүкте, ал у осі бойынша 480 нүкте және 16 түсті бояу палитрасы графикалық бетке арналған буферлік жадыдан 16 Кбайт орын алады.

Экрандық бет графикалық режимде экранға шығару буферінде қодталады. Онда экранның барлық графикалық нүктелерінің ағымдағы күйі сипатталады. Нүктенің күйі оның жану белгісімен және шығаруға арналған түстің номерімен кодталады. Егер белгі нольге тең болса, онда ол шығару түсінің номерімен жарықталынған графикалық бейнелерді шығаруда драйвкер белгі мен шығару түсін буфердегі экранның активті бетінің сәйкес нүктелерінің байтына жаздады. Егер режимнің бірнеше экрандық беті болатын болса, онда бейнені шығаратын бір бетті активті, ал қалған беттерді визуалды жасауға болады. Құру аяқталғаннан кейін, активті бет вижуалданып, бейне лезде физикалық экранға пайда болады.

Сонымен, режимлегі мөлшері мен олардың сипаттамалары дисплейімен, оның режимдердің мөлшері мен олардың сипаттамалары дисплейімен, оның адаптерлерімен анықталады.

Жалпы алғанда, компьютерлерде негізгі екі экран режимінің жұмысы символдық және графикалық экран режимінің ерекшелігі ретінде пайдаланылады.

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

  • графикалық экранды басқару үшін;
  • графикалық информацияны өңдеу және шығару үшін;
  • графикалық режимде текст шығару үшін.

Графикалық экрандыбасқару командалары:

  • пайдаланылған адаптер мен драйверлер туралы информация алу;
  • графикалық режимдердің мөлшерін және сипаттамаларын білу;
  • графикалық экранның жұмысына қажетті режимді тағайындау;
  • экранның графикалық беттерін басқару;
  • графикалық информациямен шығаруға арналған терезені іске қосу және ажырату;
  • графикалық информациямен шығару және фон түстерін басқару;
  • экранды графикалық курсормен басқару;
  • экранды немесе терезені тазарту жатады.

Графикалық информациямен енгізу әжен шығару командалары:

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

Графикалық режимде экранға текст шығару командалары – графикалық экранға жол типті текст жолымен осы жолды шығаруға мүмкіндік береді.

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

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

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

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

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

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