Графикалық координаттар ( Турбо Паскаль )


Мазмұны
Кіріспе3
1. Графикалық режимге өту4
1. 1. Графикалық режимнің параметрлері4
1. 2. Графикалық координаттар5
1. 3. Графикалық режимдерді басқару процедуралары мен функциялары6
2. Графикалық қарапайым объектілерді және фигураларды салу10
2. 1. Координаттар, терезелер, беттер10
2. 2. Сызықтар және нүктелер11
2. 3. Көпбұрыштар13
2. 4. Дөғалар, шеңберлер, эллипстер14
3. Түстерді және толтыру нұсқаларын басқару15
4. Турбо Паскальдағы графиканың қозғалысы18
4. 1. Суретті көшіру әдісі18
4. 2. Бейнені жадыда сақтау әдісі19
Қорытынды22
Қолданылған әдебиеттер23
Бағдарламалардың листингтері24
Кіріспе
Бұл курстық жұмыста Турбо Паскальдың графикалық режимінде, графикалық объектілерді бейнелеу үшін арналған әртүрлі функциялар мен процедуралар қарастырылған.
Монитордың мәтіндік және графикалық режимдердің жұмыс істеуінің айырмашылығы болып, визуалды ақпаратты шығаруды басқару табылады. Мәтіндік режимде, экранда бейнеленетін минималды объекті болып, алфавиттік-сандық немесе кез келген басқа символдар саналады. Алфавиттік-сандық дисплей режимінде істеп тұрған экран мониторы әдеттегі жағдайда, көлденеңі бойынша 80 символ және тігінен 25 символ, басқаша айтқанда 2000 визуалды объекті орналаса алады. Сонымен бірге символдардың түсін басқару мүмкіндігі шектеулі болады. Әрине, бұл режимде экранға мәтіннен басқа, қандайда бір графикалық бейнелерді шығаруға болады, бірақ бұл графикалық бейнелердің сапасы төмен болатыны түсінікті. Сондықтан күрделі бейнелермен жұмыс істеу үшін дисплейдің мәтіндік режимі сөзсіз жарамайды.
Графикалық режимде, бағдарламаушы басқара алатын минималды объекті болып, пиксел (ағылшын тілінен Pixel, «сурет» (picture) және «элемент» (element) екі сөзінің тіркесінен құралған ұғым) . Пикселдің өлшемі символға қарағанда едәуір кіші. Оның геометриялық өлшемі монитор рұқсаттылығымен анықталады. Монитор рұқсаттылығы әдетте rx * ry түрінде беріледі, мұндағы rx - экран көлденеңі бойынша орналасқан пикселдер саны, ал ry - тігінен орналсқан пикселдер саны. Тәжірибеде рұқсаттылқтың еркін мәндері емес, нақты мәндері қолданылады.
Турбо Паскаль құрамына графикалық көмекші бағдарламалардың қуатты кітапханасы енгізілген. Кітапханада 50-ден астам процедуралар мен функциялар қамтылған, олар бағдарламаушыға графикалық экранды басқаруға арналған көптеген құралдарды ұсынады.
Бұл курстық жұмыста Турбо Паскаль бағдарламалау тілінің графикалық мүмкіндіктері қарастырылған. Соның ішінде, графикалық режимнің парметрлері, координаттардың параметрлері, режимдерді басқаруға арналған процедуралар. Графикалық объектілерді салуға арналған процедуралар мен функциялардың сипаттамалары берілген. Турбо Паскальда түстерді басқаруға да көңіл бөлінген. Курстық жұмыстың тақырыбына байланысты, Турбо Паскальдағы графиканың қозғалысы толық қарастырылған, соның ішінде, қозғалысты ұйымдастырудың нұсқалары, процедуралары мен функцияларының сипатталған.
1. Графикалық режимге өту
Турбо Паскальдың интеграцияланған ортасы жүктелгенде, мәтіндік режимі қосылады да, графиканы қолдану үшін графикалық режимге өту үшін бірқатар әрекеттер орындау керек.
Ең алдымен, Турбо Паскальдың Graph модулін қосу керек. Бұл модульде, графикалық экранмен жұмыс істеуге арналған процедуралар мен функциялар және графикалық бағдарламаларда қолданылуы мүмкін кейбір кіріктірілген константалар мен айнымалылар сипатталған. Graph модулінің барлық мүмкіндіктерін қолдану үшін, бағдарлама басында (тақырыптан кейін) қолдану операторын орналастыру керек:
uses Graph
Модульдің негізгі болігін, нүкте, түзу сызықтардың кесінділерін, бүтін шеңберлерді және т. б. сияқты негізгі графикалық элементтерді шығару процедуралары құрайды. Мұндай элементтер графикалық примитивтер деп аталады. Басқа процедуралар тобы графикалық режимді басақаруға арналған.
Ары қарай компьютерде орнатылған видеоадаптерді анықтау керек. Видеоадаптер деп, нақты монитордың жұмысын басқаратын микосхемалар жиынтығын айтады. Видеоадаптердің түрін анықтауды бағдарламаға жүктеуге болады.
Компьютердің барлық физикалық құрылғысы сияқты, видеоадаптер, тек оның жұмысын басқаратын бағдарлама жадтқа жүктелгенде ғана жұмыс істейді. Мұндай бағдарлама құрылғы драйвері деп аталады. Графикалық драйверлер . BGI (Borland Graphics Interface - ағылшын тілінен Borland фирмасының графикалық интерфейсі) кеңейтілуі бар файлдарда орналасады (мысалы, EGAVGA. BGI немесе IBM8514. BGI) . Турбо Паскальда . BGI-файлдарының қажетті жинағы бар, бағдарламаушыға енді тек бағдарламаның сәйкес орынына бұл файлдарды қамтыған каталогты белгілеу ғана қалады.
1. 1. Графикалық режимнің параметрлері
Нақты адаптердің графикалық мүмкіндіктері экран рұқсаттылығымен анықталады, басқаша айтқанда пикселдердің жалпы санымен, және де олардың кез келгені жарқырай алатын түстер (реңтер) санымен. Одан басқа, көптеген адаптерлер бірнеше графикалық беттермен жұмыс істеу алады. Графикалық бет деп, экран «картасын» жасау үшін қолданылатын жедел жадтың облысын айтады, басқаша айтқанда әр пикселдің жарқырау (түсі) жайлы ақпаратты қамтыған облысты айтады. Төменде кейбір графикалық адаптерлердің графикалық жұмыс істеу режимдері қысқаша сипатталған.
- EGA адаптері (Enhanced Graphics Adapter - жетілдірілген графикалық адаптер) CGA адаптерінің графикалық режимін толығымен қайталай алады. Сонымен қатар, ол төменгі және жоғары рұқсаттылық режимдерін қолдай алады.
- VGA адаптері (Video Graphics Adapter - графикалық видеомассив) CGA және EGA адаптерлерінің режимін қайталайды және оларды жоғарғы рұқсаттық режимімен толықтырады (640х480, 16 түс, 1 бет) .
- Қазрігі кездегі компьютерлерде 800х600 және одан да жоғарыны, және де 256 және одан да көп түстік реңтерді қаматамсыз ете алатын супер-VGA (SVGA) деп аталатын адапатерлер қолданылады. Бірақ Graph кітапханасында оларға сәйкес драйверлер боламйды. SVGA адаптері VGA мен сәйкес болғандықтан, қазіргі кездегі графикалық адаптерлерді басқару үшін, EGAVGA. BGI драйверін қолдануға тура келеді жәнеи оның қарапайым мүмкіндітеріне риза болуға тура келеді.
1. 2. Графикалық координаттар
Кез келген бейне қарапайым геометриялық фигуралардан құрылады. Оларға нүктелер, түзулердің кесіндісі, шеңберлер және т. б. жатады. Геометриядан белгілі болғандай геометриялық объектінің орналасуы және формасы оның координаттық нүктелерімен беріледі. Бейненің шығарылуын бағдарламалау үшін, графикалық объектілердің координаттарын көрсетуді үйрену керек.
Графикалық координаттар нүктенің монитор экранындағы орналасуын береді. Бағдарламаушы қол жетерлік минималды элемент пиксел болғандықтан, графикалық координаттар ретінде пикселдердің реттік нөмірін қолданады. Графикалық координаттардың рұқсат етілген өзгеру аралығы х-координаттары үшін [0, rx - 1] құрайды, ал у-координаттары үшін [0, ry - 1] құрайды. Санау басы ретінде экранның жоғарғы сол жақ бұрышы алынады. Значения Х-координаттарының мәні солдан оңға қарай есептеледі, ал y-координаттары - жоғарыдан төмен қарай есептеледі. Бұл, графикалық координаттың математикада қабылданған декарттық координаттардан айырмашылығын көрсетеді.
Бағдарламаны құрастырған жағдайда графика немесе басқа бейне біске түсінікті декарттық координаттар жүйесінде жобаланады, бұл проблемалар туғызады. Мұндай графиканың экранда дұрыс бейнеленуі үшін, декарттық және графикалық координаттар жүйелерінің арасындағы үш айырмашылық ескерілуі керек:
- Графикалық координаттар тек бүтін санды мәндерді қабылдайды.
- Графикалық координаттар жоғарыдан да (нөлдік мәнмен), төменнен де (рұқсаттылық мәнімен) шектелген мәндерді қабылдайды.
- Y графикалық координатасы жоғарыдан төменге қарай есептеледі.
1. 3. Графикалық режимдерді басқару процедуралары мен функциялары
Графикалық режимге өтуді, Graph модуліндегі InitGraph процедурасы орындайды. Процедура тақырыбы:
Procedure InitGraph (var Driver, Mode: Integer; Path: String) ;
Мұндағы Driver - Integer типті айнымалы, графикалық драйвердің типін анықтайды; Mode - Integer типті айнымалы, графикалық адаптердің жұмыс істеу режимін тағайындайды; Path - String типті өрнек, драйвер атын және оны іздеу маршрутын қамтиды.
Процедураны шақырған уақытта дискілердің біреуінде қажетті графикалық драйверді қамтыған файл орналасуға тиіс. Процедура бұл драйверді жедел жадтқа жүктейді де, адаптерді графикалық жұмыс істеу режиміне ауыстырады. Драйвер типі графикалық адаптер типімен сәйкес болу керек. Драйвер типін белгілеу үшін, модульде алдын ала константалар анықталған:
const
Detect = 0;
CGA = 1;
EGA = 3;
IBM8514 = 6;
VGA = 9;
Адаптерлердің көбісі әртүрлі режимде жұмыс істей алады. Адаптерге қажетті жұмыс істеу режимін тағайындау үшін, Mode айнымалысы қолданылады, процедураға жүгінген уақытта оның мәні ретінде келесі константалар болуы мүмкін:
const
{Адаптер EGA:}
EGALo = 0; {640x200, 16}
EGAHi = 1; {640x350, 16}
{Адаптер VGA:}
VGALo = 0; {640x200}
VGAMed = 1; {640x350}
VGAHi = 2: {640x480}
{Адаптер IBM8514}
IBM8514Lo = 0; {640x480, 256}
IBM5814Hi = 1; {1024x768, 256}
Мысалы, CGA. BGI драйвері C дискісінің TP\BGI каталогында орналасқан, және де 320х200 рұқсатылығымен және 2 палитрамен жұмыс режимі тағайындалған болсын. Онда процедураға үндеу келесі түрде болады:
uses Graph;
var
Driver, Mode: Integer;
Begin
Driver := CGA;
Mode := CGAC2;
InitGraph(Driver, Mode, ‘C:\TP\BGI’) ;
Егер ДК адаптерінің типі белгісіз болса немесе бағдарлама кез келген адаптермен жұмыс істеуге көзделген болса, онда дрйвер типін автоматты түрде анықтау талабымен процедураға деген үндеу орындалады:
Driver := Detect;
InitGraph(Driver, Mode, ‘C:\TP\BGI’) ;
GraphResult функциясы Integer типті мәнді қайтарады, онда графикалық процедураларға үндеудің соңғы нәтижелері кодталған. Егер қате анықталмаса, функция мәні 0 болады, кері жағдайда - қандайда бір қатені білдіретін теріс сан болады. GraphResult функциясына жүгінгеннен кейін қателік белгісі алынып тасталады, сондықтан оған деген қайта үндеу нөлді қайтарады.
GraphErrorMsg функциясы String типті мәнді қайтарады, онда берілген қателік коды бойынша сәйкес мәтіндік хабарлама беріледі. Функция тақырыбы:
function GraphErrorMsg(Code: Integer) : String;
Мұндағы Code - GraphResult функциясымен қайтарылатын қатенің коды.
CloseGraph процедурасы графикалық режимдегі адаптердің жұмысын аяқтайды және экранның мәтіндік режимін қайта қалпына келтіреді. Процедура тақырыбы:
Procedure CloseGraph;
RestoreCRTMode процедурасы мәтіндік режимге қысқа мерзімге қайту үшін қолданылады. CloseGraph процедурасынан айырмашылығы мынада, графикалық режимнің орнатылған параметрлері алынып тасталмайды және графикалық драйверлерді орналастыруға бөлінген жады босатылмайды. Процедура тақырыбы:
procedure RestoreCRTMode;
GetGraphMode функциясы Integer типті мәнді қайтарады, онда графикалық адаптердің жұмысының тағайындалған режимінің коды қамтылаған. Тақырыбы:
function GetGraphMode: Integer;
SetGraphMode процедурасы адаптердің жаңа жұмыс істеу режимін тағайындайды. Тақырыбы:
procedure SetGraphMode(Mode: Integer) ;
DetectGraph процедурасы драйвер типі және жұмыс істеу режимі жайлы ақпаратты қайтарады. Тақырыбы:
procedure DetectGraph(var Driver, Mode: Integer) ;
GetDriverName функциясы жүктелген драйвердің атын қамтыған String типті мәнді қайтарады. Тақырыбы:
function GetDriverName: String;
GetMaxMode функциясы адаптердің жұмыс істеу режимдерінің мүмкін санын қамтыған Integer типті мәнді қайтарады. Тақырыбы:
function GetMaxMode: Integer
GetModeName функциясы экран рұқсаттылығын және нөмірі бойынша адаптер жұмысы режимінің атын қамтитын String типті мәнді қайтарады. Тақырыбы:
function GetModeName(ModNumber: Integer) : String;
GetModeRange процедурасы берілген графикалық адаптердің жұмыс режимдерінің мүмкін болатын аралығын қайтарады. Тақырыбы:
procedure GetModeRange(Drv: Integer; var Min, Max: Integer) ;
PutPixel процедурасы (х, у) графикалық координаттарымен белгілі нүктені color түсімен бояйды. Тақырыбы:
procedure PutPixel(x, y, color) ;
Түсті санмен де, алдын ала белгіленген тұрақтымен де көрсетуге болады. Тұрақтылардың тізімі:
const
Black = 0 қара
Blue = 1 көк
Green = 2 жасыл
Cyan = 3 жарық жасыл
Red = 4 қызыл
Magenta = 5 қызғылт
Brown = 6 қоңыр
LightGray = 7 ашық-сұр
DarkGray = 8 қара-сұр
LightBlue = 9 ашық-көк
LightGreen = 10 ашық-жасыл
LightCyan = 11 ашық-жарық-жасыл
LightRed = 12 ашық-қызыл
LightMagenta = 13 ашық-қызғылт
Yellow = 14 сары
White = 15 ақ
2. Графикалық қарапайым объектілерді және фигураларды салу
2. 1. Координаттар, терезелер, беттер
Графикалық процедуралар мен функциялардың көбі, экрандағы ағымдағы позиция көрсеткішін қолдандаы, оның мәтіндік курсордан айырмашылығы - көрінбеуі. Графикалық экрандағы жалпы кез келген координаты сияқты, көрсеткіштің орналасуы жоғарғы солжақ бұрыш бойынша беріледі, оның координаттары 0, 0 болады. Сонымен, экранның көлденең координаттары солдан оңға қарай артады, ал тігінен - жоғарыдан төменге қарай.
GetMaxX және GetMaxY функциялары көлденеңінен және тігінен сәйкес ағымдағы жұмыс істеу режимінде экранның максималды координаттарын қамтыған Word типті мәнді қайтарады. Мысалы:
uses Graph;
var
a, b: Integer;
begin
a := Detect;
InitGraph(a, b, ‘ ’) ;
WriteLn(GetMaxX, GetMaxY:5) ;
ReadLn;
CloseGraph
end.
SetViewPort процедурасы гарфикалық экранда тік бұрышты терезені орнатады. Тақырыбы:
рrocedure SetViewPort(X1, Y1, X2, Y2: Integer; ClipOn: Boolean) ;
Мұнда X1…Y2 - терезе бұрыштарының(Х1, Y1) жоғарғы сол жақ координаттары және (X2, Y2) оң жақ төменгі координаттары; ClipOn - терезеге симаған бейне элементтерін алынып тасталуын анықтайтын Boolean типті өрнек.
ClearDevice процедурасы графикалық экранды тазартады. Процедураға жүгінгеннен кейін көрсеткіш жоғарғы сол жақ бұрышқа орналасады, ал экранның SetBkColor процедурасымен берілген фон түсімен толтырылады.
GetViewSettings процедурасы ағымдағы графикалық терезенің координаттарын және алынып тасталу белгісін қайтарады. Тақырыбы:
рrocedure GetViewSettings(var ViewInfo: ViewPortType) ;
Процедура MoveTo процедурасы ағымдағы көрсеткіштің жаңа орналасуын орнатады. Процедура тақырыбы:
рrocedure MoveTo(X, Y: Integer) ;
Процедура MoveRel процедурасы көрсеткіштің жаңа орналасуын салыстырмалы координаттары бойынша орнатады. Процедура тақырыбы:
рrocedure MoveRel(DX, DY: Integer) ;
ClearDevice процедурасы графикалық экранды тазартады. Процедураға жүгінгеннен кейін көрсеткіш экранның жоғарғы сол жақ бұрышына орнатылады, ал экранның өзі SetBkColor процедурасы тағайындаған фон түсімен толтырылады. Тақырыбы:
рrocedure ClearDevice;
GetAspectRatio процедурасы экран жақтарының қатынасын бағалауға мүмкіндік беретін екі санды қайтарады. Тақырыбы:
рrocedure GetAspectRatio(var X, Y: Word) ;
SetAspectRatio процедурасы графикалық экран жақтары қатысанының масштабталған коэффициентін орнатады. Тақырыбы:
рrocedure SetAspectRatio(X, Y: Word) ;
Процедура SetActivePage процедурасы видеожадының белгіленген бетің белсенді қылады. Тақырыбы:
рrocedure SetActivePage(PageNum: Word) ;
SetVisualPage процедурасы белгіленген нөмірілі бетті көрінетін қылады. Тақырыбы:
рrocedure SetVisualPage(PageNum: Word) ;
2. 2. Сызықтар және нүктелер
PutPixel процедурасы берілген координаттар бойынша түсі тағайындалған нүктені шығарады. Тақырыбы:
рrocedure PutPixel(X, Y: Inteder; Color: Word) ;
Мұнда X, Y - нүкте координаттары; Color - нүктенің түсі.
GetPixel функциясы берілген координаттарымен пиксел түсін қамтыған Word типті мәнді қайтарады. Тақырыбы:
Function GetPixel(X, Y: Inteder; ) : Word;
Мұнда X, Y - пиксел координаттары.
Line процедурасы басының және аяғының координаттары берілген сызық сызылады. Тақырыбы:
рrocedure Line(X1, Y1, X2, Y2: Integer) ;
Мұнда X1…Y1 - сызықтың (X1, Y1) басының координаттары және (X2, Y2) аяғының координаттары. Сызық ағымдағы стильмен және түспен сызылады.
LineTo процедурасы көрсеткіштің ағымдағы орынынан бастап оның берілген жаңа координаттарына дейін сызықты сызады. Тақырыбы:
рrocedure LineTo(X, Y: Integer) ;
LineRel процедурасы көрсеткіштің ағымдағы орынынан бастап оның берілген өсу координаттарына дейін сызықты сызды. Тақырыбы:
рrocedure LineRel(DX, DY: Integer) ;
SetLineStyle процедурасы сызылатын сызықтарға жаңа стильді тағайындайды. Тақырыбы:
рrocedure SetLineStyle(Type, Pattern, Thick: Word) ;
Мұнда Type, Pattern, Thick - сәйкес тип, нұсқа және сызықтың жуандығы. Сызықтың типі келесі константалардың бірімен берілуі мүмкін:
сonst
SolidLn = 0; (Тұтас сызық)
DottedLn = 1; (Нүктелі сызық)
CenterLn = 2; (Штрих-пунктирлі сызық)
DashedLn = 3; (Пүнктирлі сызық)
UserBitLn = 4; (Сызықтың типін пайдаланушы өзі анықтайды)
Параметр Pattern параметрі, пайдаланушы түрін өзі анықтайтын сызықтар үшін ғана есептеледі. Сонымен қатар Pattern параметрінің екі байты сызық нұсқасын анықтайды: берілген сөдіздің белгіленген бірдік бит сызықтағы жарқырап тұрған пикселге сәйкес, нөлдік бит - жарқырамайтын пкиселге сәйкес. Сонымен, Pattern параметрі ұзындығы 16 пиксел болатын сызықты береді. Бұл нұсқа сызықтың ұзындығы бойымен кезеңмен қайталанып отырады.
Thick параметрі төмендегі екі мәннің бірін қабылдай алады:
const
NormWidth = 1; {Бір пикселді жуандық}
ThickWidth = 3; {Үш пикселді жуандық}
Айтып кететіні, процедурамен белгіленген сызық стилі (ағымдағы стиль) тікбұрыштарды, көпбұрыштарды және басқа фигураларды құрғанда қолданылады.
2. 3. Көпбұрыштар
Rectangle процедурасы, бұрыштардың берілген координатарымен тікбұрышты сызады. Тақырыбы:
рrocedure Rectangle(X1, Y1, X2, Y2: Integer) ;
Мұнда X1…Y2 - тікбұрыштың жоғарғы сол жақ бұрышының (X1, Y1) координаттары және төменгі оң жақ бұрышының (X2, Y2) координаттары. Тік бұрыш ағымдағы түсі және сызықтың ағымдағы стилі қолданылып сызылады.
DrawPoly процедурасы, бұрылыс нүкте координаттарымен берілген еркін сынық сызығын сызады. Тақырыбы:
рrocedure DrawPoly(N: Word; var Points) ;
Мұнда N - ең шеткі екі нүктені қоса, сыну нүктелерінің саны; Points - сыну нүктелерінің координаттарын қамтыған переменная типа PointType типті айнымалы.
Сыну нүктелердің координаттары Word типті екі мәнмен беріледі: біріншісі көлденең координатты, екіншісі тік координатты анықтайды. Оларға модульде анықталған келесі типті қолдануға болады:
type
PointType = record
x, y: Word
end;
Сызылған уақытта ағымдағы түс пен сызық стилі қолданылады.
2. 4. Дөғалар, шеңберлер, эллипстер
Circle процедурасы шеңберді сызады. Тақырыбы:
рrocedure Circle(X, Y: Integer; R: Word) ;
Мұнда X, Y - ортасының координаттары; R - пикселмен берілген радиус.
Шеңбер ағымдағы түспен шығарылады. Сызықтың жуандығы ағымдағы стильмен орнатылады, сықтың түрі әрдайым SolidLn (тұтас) . Процедура, графикалық экран жақтарына қатысты бағытына байланысты радиустың сызықтық өлшемдерінің өзгеруін, басқаша айтқанда GetAspectRatio коэффициентін ескере отырып дұрыс шеңберді сызады. Осыған байланысты, R параметрі көлденең бағыттағы пикселдердің санын анықтайды.
Arc процедурасы шеңбердің доғасын сызады. Тақырыбы:
рrocedure Arc(X, Y: Integer; BegA, EndA, R: Word) ;
Мұнда X, Y - ортасының координаттары; BegA, EndA - доғаның сәйкес бастапқы және соңғы бұрыштары; R - радиус.
Бұрыштар сағат тілшесіне кері сипатталады және градуспен беріледі. Нөлдік бұрыш, вектордың солдан оңға қарай көлденең бағытына сәйкес болады. Егер бұрыштың бастапқы мәнін 0 және соңғы мәнін 359 қылып тағайындаса, онда толық шеңбер шығарылады. Шеңбер доғасы сызылған уақытта Circle процедурасындағы радиус сызығына қатысты келесімдер қолданылады.
Ellipse процедурасы эллипстік доғаны сызады. Тақырыбы:
рrocedure Ellipse(X, Y: Integer; BegA, EndA, Rx, RY: Word) ;
Мұнда X, Y - ортасының координаттары; BegA, EndA - доғаның, сәйкес бастапқы және соңғы бұрыштары; RX, RY - эллипстің пикселмен берілген көлденең және тік радиустары.
Эллипс доғасы сызылған уақытта Circle процедурасындағы радиус сызығына қатысты келесімдер және Arc процедурасындағы бұрыштарға қатысты келісімдер қолданылады. Егер, GetAspectRatio масштабты коэффициентін ескеріп радиустарды келістірсе, онда дұрыс шеңбер сызылады.
3. Түстерді және толтыру нұсқаларын басқару
SetCоlor процедурасы енгізілетін сызықтар мен символдар үшін ағымдағы түсін тағайындайды. Тақырыбы:
рrocedure SetColor(Color: Word) ;
Мұнда Color - ағымдағы түс.
SetBkColor процедурасы фонның түсін орнатады. Тақырыбы:
рrocedure SetBkColor (Color: Word) ;
Мұндағы Color - фонның түсі.
Фон түсі тек қара реңті бола алатын мәтіндік режимнен өзгешілігі, графикалық режимде фон түсі кез келген бола алады. Фонның жаңа түсінің орнатылуы, графикалық экранның түсін дереу өзгертеді. GGA-адаптері үшін жоғары рұқсаттылық режимінде фон түсін орнату белсенді пикселдердің түсін өзгертеді.
Set Palette процедурасы, палитрадағы түстердің бірін жаңа түспен алмастырады. Тақырыбы:
procedure Set Palette(N: Word; Color: ShortInt) ;
Мұнда N - палитрадағы түс нөмірі, Color - қайтадан орнатылған түс нөмірі. Бұл процедура тек EGA немесе VGA адаптерлерімен ғана жұмыс істейді.
SetAllPalette процедурасы палитраның бірнеше түсін бір уақытта өзгертеді. Тақырыбы:
procedure SetAllPalette(var Palette) ;
SetFillStyle процедурасы стильді ( типін және түсін) орнатады. Тақырыбы:
рrocedure SetFillStyle(Fill, Color: Word) ;
Мұнда Fill - толтыру типі; Color - толтыру түсі.
Толтыру арқылы, қайталанып отыратын өрнегі бар қандайда бір үзіндісін жабуға болады.
Геометриялық фигураларды толтыру стильдері (константалар) :
EmptyFill 0 Фон түсімен тұтастай толтыру
SolidFill 1 Берілген түспен тұтастай толтыру
LineFill 2 Көлденең сызықтармен толтыру
LtSlashFill 3 Диагональды толтыру
SlashFill 4 Жуан сызықтармен диагональды толтыру
BkSlashFill 5 Жуан сызықтармен кері диагональды толтыру
LtBkSlashFill 6 Кері диагональды толтыру
HatchFill 7 Тормен толтыру
XhatchFill 8 Жаанама тормен толтыру
InterleaveFill 9 Кезектескен сызықтық толтыру
WideDotFill 10 Сирек орналасқан нүктелер
CloseDotFill 11 Жиі орналасқан нүктелер
UserFill 12 Стиль пайдаланушымен анықталады
FloodFill процедурасы, ағымдағы толтыру стилін (өрнек және түс) қолданып кез келген тұйық фигураны толтырады. Тақырыбы:
рrocedure FloodFill(X, Y: Integer; Border: Word) ;
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz