grafika Polecenia trybu graficznego


Polecenia trybu graficznego

Arc (X,Y; Integer; StAngle, EndAngle, Radius; Word);

łuk, wycinek okręgu

Bar (x1, y1, x2, y2: Integer);

prostokąt, „słupek” -

np. dla wykresów słupkowych

Bar3D (x1, y1, x2, y2: Integer; Depth: Word; Top: Boolean);

słupek „trójwymiarowy”

Circle (X,Y: Integer; Radius: Word);

Okrąg

ClearDevice (X,Y: Integer; Radius: Word);

czyszczenie ekranu graficznego

ClearViewPort;

czyszczenie okna (część ekranu), w trybie graficznym

DetectGraph;

sprawdza jaką kartę graficzną mamy do dyspozycji i w którym trybie graficznym właśnie pracujemy

DrawPoly (NumPoints: Word; var PolyPoints);

rysuje wielokąt

Ellipse(X, Y: Integer; StAngle, EndAngle: Word; XRadius, YRadius: Word);

rysuje elipsę

FillEllipse (X, Y: Integer; XRadius, YRadius: Word);

rysuje elipsę wypełnioną wewnątrz

FillPoly (NumPoints: Word; var PolyPoints);

rysuje wielokąt wypełniony wewnątrz

FloodFill (X, Y: Integer; Border: Word);

wypełnia zamknięty (ograniczony liniami o innym kolorze) region ekranu

wcześniej trzeba wypełnić kolor i wzór „wypełniacza”

GetArcCoords (var ArcCoords: _ArcCoordsType_);

podaje współrzędne ostatnio rysowanego łuku

GetAspectRatio (var Xasp, Yasp: Word);

zwraca współczynniki „skali rysunku” (aspect ratio); ponieważ proporcje rozdzielczości (w pikselach) po poziomej osi X i po pionowej osi Y są różne dla różnych kart graficznych, pozwala na skalowanie rysunku

GetBkColor: Word;

podaje bieżący kolor tła

GetColor: Word;

podaje bieżący kolor rysowania

GetDefaultPalette (var Palette: PaletteType);

ustawia domyślną paletę kolorów

GetDriverName: String;

podaje nazwę sterownika graficznego (karty)

GetFillPattern (var FillPattern: FillPatternType);

podaje bieżący wzorek „wypełniacza”

GetFillSettings (var FillInfo: FillSettingsType);

podaje bieżący kolor i wzorek „wypełniacza”

GetGraphMode: Integer;

podaje bieżący tryb graficzny

GetImage (x1, y1, x2, y2: Integer; var BitMap);

zapamiętuje rysunek

GetLineSettings (var LineInfo: LineSettingsType);

podaje bieżący styl linii (ciągła, przerywana, grubość itp.)

GetMaxColor: Word;

podaje najwyższy dostępny numer koloru

GetMaxMode: Integer;

podaje najwyższy dostępny tryb graficzny

GetMaxX: Integer;

podaje maksymalną wartość współrzędnej X na ekranie

GetMaxY: Integer;

podaje maksymalną wartość współrzędnej Y na ekranie

GetModeName (ModeNumber: Integer): string;

podaje nazwę trybu graficznego

GetModeRange (GraphDriver:Integer; var LoMode, HiMode:Integer);

podaje zakres dostępnych trybów graficznych

GetPalette (var Palette: PaletteType);

podaje bieżącą paletę kolorów

GetPaletteSize: Integer;

podaje wielkość palety kolorów

GetPixel (X,Y: Integer): Word;

podaje stan wskazanego punktu na ekranie (jaki ma kolor?)

GetTextSettings (var TextInfo: TextSettingsType);

podaje bieżące ustawienia do wprowadzania tekstu (współrzędne, kolor, czcionka itp.)

GetViewSettings (var ViewPort: ViewPortType);

podaje parametry bieżącego okna graficznego (View Port Settings)

GetX: Integer;

podaje bieżącą współrzędną X kursora graficznego (niewidocznego)

GetY: Integer;

podaje bieżącą współrzędną Y kursora graficznego (niewidocznego)

GraphDefaults;

wraca do domyślnych ustawień trybu graficznego, ustawia kursor graficzny w punkcie (0,0)

GraphErrorMsg (ErrorCode: Integer): string;

podaje komunikat o błędzie grafiki z zadanym numerem

ImageSize (x1, y1, x2, y2: Integer): Word;

wielkość rysunku

InstallUserDriver (Name: string; AutoDetectPtr: pointer): integer;

instaluje sterownik graficzny użytkownika

InstallUserFont (FontFileName: string ): Integer;

instaluje czcionki graficzne użytkownika

Line (x1, y1, x2, y2: Integer);

rysuje linię prostą

LineRel (Dx, Dy: Integer);

rysuje linię prostą relatywnie do bieżącej pozycji kursora graficznego

LineTo (X, Y: Integer);

rysuje linię od bieżącego położenia kursora do wskazanego punktu

MoveRel (Dx, Dy: Integer);

przesuwa kursor graficzny relatywnie (w stosunku do pozycji początkowej)

MoveTo (X, Y: Integer);

przesuwa kursor graficzny do wskazanego punktu

OutText (TextString: string);

wyprowadza tekst

OutTextXY (X,Y: Integer; TextString: string);

wyprowadza tekst począwszy od punktu o zadanych współrzędnych X i Y

PieSlice (X, Y: Integer; StAngle, EndAngle, Radius: Word);

rysuje wycinek wykresu kołowego

PutImage (X, Y: Integer; var BitMap; BitBlt: Word);

wstawia na ekran rysunek

PutPixel (X, Y: Integer; Pixel: Word);

zapala punkt na ekranie

Rectangle (x1, y1, x2, y2: Integer);

rysuje prostokąt

RegisterBGIDriver (driver: pointer): Integer;

rejestruje sterownik graficzny BGI

RegisterBGIFont (Font: pointer): Integer;

rejestruje czcionki dla środowiska DOS

RestoreCrtMode;

wraca do trybu tekstowego (zwykle na chwilę)

Sector (x, y: Integer; StAngle,EndAngle, XRadius, YRadius: Word);

rysuje wypełniony wycinek elipsy/okręgu

SetActivePage (Page: Word);

wybiera aktywną stronę (czyli taką, na której odbywa się rysowanie); wszystkie operacje mogą odbywać się wyłącznie w pamięci; Visual/Visible Page - strona na bieżąco odwzorowywana na ekranie

SetAllPalette (var Palette);

zmienia wszystkie kolory palety na podane

SetAspectRatio (Xasp, Yasp: Word): Word;

ustawia skalę rysunku

SetBkColor (ColorNum: Word);

ustawia kolor tła

SetColor (Color: Word);

ustawia kolor rysunku

SetFillPattern (Pattern: FillPatternType; Color: Word);

ustawia wzór “wypełniacza” wnętrza figur i regionów

SetFillStyle (Pattern: Word; Color: Word);

ustawia rodzaj „wypełniacza”

SetGraphBufSize (BufSize: Word);

ustawia wielkość bufora pamięci dla grafiki

SetGraphMode (Mode: Integer);

włącza tryb graficzny

SetLineStyle (LineStyle: Word; Pattern: Word; Thickness: Word);

ustawia rodzaj linii (ciągła, przerywana, gruba itp.)

SetPalette (ColorNum: Word; Color: Shortint);

ustawia stosowaną paletę barw

SetRGBPalette (ColorNum, RedValue, GreenValue, BlueValue: Integer);

ustawia paletę trójskładnikową (R=Red, G=Green, B=Blue)

SetTextJustify (Horiz, Vert: Word);

ustawia sposób wyrównywania tekstu

SetTextStyle (Font, Direction: Word; CharSize: Word);

ustawia styl tekstu

SetUserCharSize (MultX, DivX, MultY, DivY: Word);

ustawia wielkość czcionek użytkownika

SetViewPort (x1, y1, x2, y2: Integer; Clip: Boolean);

ustawia okno graficzne na ekranie

SetVisualPage (Page: Word);

wybiera stronicę pamięci karty widoczną na ekranie

SetWriteMode (WriteMode: Integer);

ustawia tryb „nadrysowywania” na poprzedni rysunek

TextHight (TextString: string): Word;

ustawia wysokość tekstu

TextWidth (TextString: string): Word;

ustawia szerokość tekstu

FUNKCJE I PROCEDURY GRAFICZNE MODUŁU GRAPH

0x01 graphic

0x01 graphic


Trudno jest sobie wyobrazić program komputerowy, który operując duża liczbą danych i wyników nie korzysta z trybu graficznego. Jego obsługa jest dość skomplikowana, warto jest jednak poznać pewne reguły gry przy pracy w tym trybie w środowisku jednego z produktów firmy Borland - Turbo Pascalu.

Wiadomości wstępne

Moduł Graph, zawierający największą liczbę procedur i funkcji obsługuje grafikę ekranową. Procedury i funkcje tego modułu pozwalają:

Mikrokomputery typu PC mogą być wyposażone w różne karty graficzne, np. CGA, EGA, Hercules, VGA lub SVGA obsługujące ekrany monitorów o różnej rozdzielczości. Oczywiście rozdzielczość ekranu, czyli liczba wyświetlanych w poziomie i pionie punktów (ang. pixels), jest ściśle związana z procedurami i funkcjami graficznymi. W celu uniezależnienia systemu Turbo Pascal od kart graficznych mikrokomputerów, począwszy od wersji 4.0 przewidziano dla najczęściej stosowanych kart sterowniki, tj. programy obsługujące związek procedur i funkcji modułu Graph z tymi kartami. Sterowniki te znajdują się w zbiorach o rozszerzeniu .BGI. Obsługują one między innymi następujące karty graficzne (oraz inne karty całkowicie z nimi zgodne ):

CGA VGA MCGA Hercules EGA

Do pełnego wykorzystania niezbędne są także .CHR. Zawierają one definicje krojów pisma, i funkcje modułu Graph.

Wykorzystanie standardowych procedur i funkcji modułu Graph wymaga jego deklaracji za pomocą konstrukcji uses. Ponadto przed wywołaniem pierwszej funkcji lub procedury graficznej modułu Graph tryb graficzny powinien zostać zainicjowany poprzez wywołanie procedury InitGraph, która m.in. ładuje do pamięci i inicjuje odpowiedni sterownik. Przed wywołaniem procedury inicjującej tryb graficzny istnieje możliwość automatycznej detekcji karty graficznej, co zapewnia procedura DetectGraph. Na zakończenie wykonywania operacji graficznych powinna być wywołana procedura CloseGraph, która powoduje usunięcie z pamięci sterownika i powrót do poprzedniego trybu tekstowego. Mamy tu zatem do czynienia z sytuacją podobną do otwierania i zamykania plików.

Podczas pracy z modułem graficznym istnieje także możliwosć przełączania trybu graficznego na tryb tekstowy RestoreCrMode i SetGraphMode.

Ekran w trybie graficznym ma inny układ współrzędnych niż w trybie tekstowym. Każdy punkt tego ekranu posiada swoje współrzędne, przy czym punkt znajdujący się w lewym górnym narożniku oznaczony jest jako (0,0). Liczba punktów ekranu wzdłuż osi x i y zależy od monitora i obsługującej go karty graficznej. Informację o rozdzielczości ekranu w kierunku x i y, to jest maksymalne dostępne wartości tych współrzędnych, można uzyskać za pomocą bezparametrowych funkcji GetMaxX i GetMaxY. Dzięki nim możemy więc budując program przynajmniej częściowo uniezależnić się od karty graficznej i jej trybu (poprzez posługiwanie się wartościami współrzędnych ekranu względem wielkości maksymalnych) . istnieje także możliwość przełączenia i odwrotnie. Służą do tego celu procedury Funkcje i procedury graficzne modułu Graph Dla większości kart graficznych (za wyjątkiem karty Hercules i PC3270) możliwe jest wykorzystanie różnych trybów graficznych ekranów, ściśle związanych z rodzajem wykorzystywanej karty graficznej. Różnią się one:

Maksymalna liczba kolorów dostępnych jednocześnie wynosi dla większości sterowników kolorowych 16. Ideałem jest tu tryb IBH8514Hi o palecie 256 kolorów. Monochromatyczna karta Hercules może pracować w tylko jednym trybie HercMonoHi o rozdzielczości 720x348, dwubarwnej palecie kolorów i dwóch stronach graficznych.

Procedury inicjujące i zamykające tryb graficzny.

Tryb graficzny jest ściśle związany ze sprzętem komputerowym, a dokładniej z kartą graficzną, w jaką wyposażony jest komputer. W systemie Turbo Pascal do obsługi różnych kart graficznych zainstalowane są sterowniki. Podczas inicjowania trybu graficznego należy określić właściwy dla danego sprzętu sterownik i tryb pracy ekranu.

DetectGraph (sterownik, tryb)

Do sprawdzenia sprzętu komputerowego i określenia właściwego dla niego sterownika, jak również graficznego trybu pracy ekranu służy procedura DetectGraph. Oba argumenty wywołania tej procedury muszą być zmiennymi typu Integer. W wyniku wywołania zmiennej sterownik zostanie przypisana wartość określająca sterownik do obsługi karty graficznej zainstalowanej w zestawie komputerowym, natomiast zmiennej tryb - wartość określająca tryb graficzny wysokiej rozdzielczości.

InitGraph (sterownik, tryb, skorowidz)

W celu zastosowania funkcji i procedur modułu Graph należy najpierw moduł ten zainicjować poprzez wywołanie procedury InitGraph. W wywołaniu tym pierwsze dwa argumenty muszą być zmiennymi typu Integer, a ostatni - wyrażeniem typu string.
Jeśli wartością zmiennej sterownik jest Detect, tj. 0 (musi uprzednio nastąpić instrukcja przypisania Sterownik:=Detect, gdyż pierwszy parametr nie może być stałą) to wartość drugiej zmiennej może być dowolna i wywołanie powyższej procedury powoduje automatyczny wybór przez system takiego sterownika i trybu pracy ekranu, jaki byłby określony przez wywołanie procedury DetectGraph. W wyniku takiego wywołania procedury InitGraph zmiennym sterownik i tryb zostaną przypisane wartości określające sterownik obsługujący kartę graficzną zestawu komputerowego i tryb wysokiej rozdzielczości.
Jeśli w wywołaniu procedury InitGraph wartość zmiennej sterownik będzie różna od zera, to zostanie ona przyjęta za numer sterownika. W tym przypadku konieczne jest, aby wartością drugiej zmiennej (tryb) była jedną z wartości określających tryb graficzny dla danego sterownika.
Trzeci argument wywołania procedury InitGraph jest łańcuchem określającym skorowidz (katalog) i/lub napęd, w którym znajduje się dany sterownik. Jeśli skorowidzem tym jest skorowidz bieżący, to można wyspecyfikować łańcuch pusty. W naszym przypadku należy podać: , gdyż w tym właśnie katalogu zgromadzone są sterowniki.
Zwróćmy jeszcze raz uwagę na fakt, że ponieważ pierwsze dwa argumenty wywołania procedury InitGraph są zmiennymi, więc nie jest dozwolone bezpośrednie specyfikowanie w wywołaniu stałych definiujących sterowniki i stałych trybów graficznych ekranu. Błąd wykonania procedury InitGraph jest sygnalizowany przez przypisanie odpowiedniej wartości funkcji GraphResult. Ta sama wartość (w przypadku wystąpienia błędu) zostanie przypisana zmiennej sterownik.

CloseGraph

Pracę w trybie graficznym kończy bezparametrowa procedura CloseGraph. Powoduje ona usunięcie sterownika z pamięci operacyjnej i powrót ekranu do trybu sprzed zainicjowania trybu graficznego.

Funkcje i procedury pomocnicze

GraphResult

W trakcie wykonywania operacji graficznych mogą wystąpić różnego rodzaju błędy. Są one sygnalizowane odpowiednią wartością bezparametrowej funkcji GraphResult. Wartość tej funkcji, będąca liczbą całkowitą z przedziału od -14 do 0, określa stan ostatniej wykonywanej operacji graficznej, przy czym wartość 0 oznacza, że operacja ta przebiegła pomyślnie. Poprzez badanie wartości funkcji GraphResult można zaprogramować dalsze działanie programu po wystąpieniu błędu. Należy przy tym pamiętać, że po wywołaniu funkcji system przypisuje jej wartość 0. Do przechowania wartości funkcji konieczne może zatem okazać się zastosowanie pomocniczej zmiennej.

GraphErrorMsg (kod-błędu)

Pomocniczą rolę w obsłudze błędów spełnia funkcja GraphErrorMsg, której wartością jest łańcuch znaków zawierający tekst komunikatu o błędzie dla wyspecyfikowanego kodu_błędu, który jest wielkością typu Integer.

RestoreCrtMode

W trakcie pracy w trybie graficznym można przejść do trybu tekstowego, wykonać w tym trybie określone operacje, po czym powrócić do trybu graficznego, bez potrzeby ponownego jego inicjowania. Wywołanie bezparametrowej procedury RestoreCrtMode powoduje powrót ekranu do trybu obowiązującego przed zainicjowaniem trybu graficznego. Nie będzie jednak na nim tego, co zostawiliśmy przechodząc do trybu graficznego.

SetGraphMode ( tryb)

SetGraphMode przestawia system na wyspecyfikowany tryb graficzny z jednoczesnym oczyszczeniem zawartości ekranu. Tryb oznacza w ogólności dowolne wyrażenie typu Integer (najczęściej specyfikuje się tu jedną ze stałych trybów graficznych ekranu). Dla wszystkich parametrów graficznych zostaną przy tym przyjęte ich wartości standardowe. Jeśli w wywołaniu procedury SetGraphMode zostanie dla obowiązującego (bieżącego) sterownika wyspecyfikowany błędny tryb pracy ekranu, wartością funkcji GraphResult będzie -10. Procedura SetGraphMode może być także używana do zmiany trybów graficznych pracy ekranu, niezależnie od procedury RestoreCrtHode.

GetGraphMode

Informację o aktualnie obowiązującym graficznym trybie pracy ekranu, ustalonym za pomocą procedury InitGraph lub SetGraphHode, uzyskuje się poprzez wywołanie bezparametrowej funkcji GetGraphMode, zwracającej wielkość typu Integer. Funkcje i procedury graficzne modułu Graph.

GetDriverName

Nazwę bieżącego sterownika karty graficznej bezparametrowej funkcji GetDriverName. Wartość można otrzymać przez wywołanie tej funkcji jest typu string.

GetModeName

Nazwę aktualnie wykorzystywanego trybu graficznego wywołanie bezparametrowej funkcji GetModeName, której poprzednio omawianej, jest typu string. można uzyskać przez wywołanie bezparametrowej funkcji GetModeName, której wartość, tak jak dla poprzednio omawianej, jest typu string.

GetMaxX, GetMaxY

Funkcje te zwracają informację o rozdzielczości (maksymalne dostępne wartości współrzędnych). ekranu w kierunku x i y

GetMaxColor

Funkcja ta zwraca informację o maksymalnym numerze koloru, który dostępny dla danego trybu graficznego. Jest to wielkość typu Word.

ClearDevice

Po zainicjowaniu trybu graficznego dostępna jest cała powierzchnia ekranu. Jego zawartość może być w dowolnym miejscu programu oczyszczona poprzez wywołanie bezparametrowej procedury ClearDevice, która powoduje ponadto przypisanie wszystkim parametrom graficznym ich standardowych wartości.

SetViewPort (xl, yl, x2, y2, obcięcie)

Istnieje także możliwość określenia okna służącego do wyprowadzania obrazu graficznego i wykonywania operacji graficznych tylko w obrębie tego okna. Do ustalenia rozmiarów i usytuowania bieżącego okna na ekranie służy procedura SetViewPort. W jej wywołaniu:
xl i yl oznaczają współrzędne bezwzględne, tj. odniesione do całego ekranu, lewego górnego narożnika okna,
x2 i y2 - prawego dolnego narożnika.
Muszą być przy tym spełnione warunki: 0<=xl<=x2 i 0<=yl<=y2. Wszystkie współrzędne powinny być wartościami typu Word (mogą to być wyrażenia). Ostatni argument wywołania (obcięcie) musi być typu Boolean, tj. posiadać wartość logiczną True lub False. Określa on, czy rysowanie lub wyprowadzanie tekstu ma być ograniczone do bieżącego okna (True) czy też nie (False). Można tu zastosować predefiniowanie stałe ClipOn i ClipOff.
Po ustaleniu bieżącego okna wszystkie operacje graficzne działające na współrzędnych odnosić się będą do tego okna. Jego lewy górny narożnik będzie uważany za punkt o współrzędnych (0,0). Ponowne ustalenie za bieżące okno całej powierzchni ekranu można uzyskać poprzez wywołanie procedury ClearDevice (porównaj tekst wyżej) lub procedury SetViewPort dla argumentów (O, 0, GetMaxX, GetMaxY, True). Należy w tym miejscu zaznaczyć, że zainicjowanie trybu graficznego, tj. wywołanie procedury InitGraph, oraz ustalenie trybu graficznego, poprzez wywołanie procedury SetGraphHode, powodują także przyjęcie powierzchni całego ekranu za bieżące okno.

ClearViewPort

Procedura ta umożliwia oczyszczenie aktualnego okna graficznego.

GetViewSettings (Zmienna_typu_okenkowego)

Pełne informacje o bieżącym oknie można uzyskać przez wywołanie procedury GetViewSettings, której parametr musi być predefiniowanego typu ViewPortType.
Karty graficzne EGA, VGA i Hercules pozwalają konstruować grafikę na jednej, dwu lub czterech "stronach" ekranu (w zależności od ustalonego trybu). Podczas pracy z grafiką wielostronicową elementy graficzne (rysunki, teksty) mogą być kierowane na określoną stronę, np. niewidoczną bezpośrednio na ekranie, po czym strona taka może być natychmiast wyświetlona. Technika ta jest bardzo użyteczna, zwłaszcza do konstrukcji obrazów animowanych.

SetActivePage (strona)

W celu skierowania elementu graficznego na określoną stronę należy operacją konstruującą dany element wywołać procedurę standardową SetActivePage. Wyspecyfikowany parametr strona typu Word (może to być wyrażenie) określa numer odnośnej strony.

SetVisualPage (strona)

Do wyświetlenia danej strony na ekranie służy procedura SetVisualPage. Argument strona spełnia te same warunki co poprzednio.

Właściwe procedury graficzne

Po zainicjowaniu trybu graficznego wskaźnik ekranu (niewidoczny odpowiednik migającego kursora z trybu graficznego) znajduje się w punkcie o współrzędnych (0,0), to jest lewym górnym narożniku ekranu. Pozioma oś współrzędnych ekranowych skierowana jest w prawo a pionowa w dół.

OutText(tekst)

Procedura ta służy do wyprowadzenia tekstu (wielkość typu string lub wyrażenie łańcuchowe) względem aktualnego położenia wskaźnika ekranu.

OutTextXY(x, y, Tekst)

Wywołanie tej procedury powoduje wyprowadzenie tekstu względem punktu o współrzędnych x i y - Integer. Wywołanie tych dwóch procedur jest najczęściej poprzedzone ustaleniem kroju czcionki, wielkości znaków, kierunku napisu i sposobu justacji. Określenie tych parametrów umożliwiają specjalne procedury.

SetTextStyle( Krój_Pisma, Kierunek, Rozmiar)

Argumenty wywołania tej funkcji powinny być wielkościami typu Word. Pierwszy z nich określa krój pisma. Służą do tego celu predefiniowane stałe modułu Graph.

Drugi z parametrów określa kierunek wyprowadzania tekstu.

Do określania rozmiaru pisma należy stosować liczby od 1 do 10 podając w ten sposób odpowiednie powiększenia.

SetTextJustify(Poziom, Pion)

Procedura ta, której oba argumenty są wielkościami typu Word, umożliwia wyrównywanie lub centrowanie wyprowadzanego łańcucha względem wskaźnika ekranu lub określonego punktu. Można tu stosować predefiniowane stałe:

TextHeight (Łańcuch), TextWidth (Łańcuch)
Funkcje te określają w liczbie punktów ekranu wielkość wyprowadzanego łańcucha. Uwzględniany jest przy tym aktualny krój pisma i jego rozmiary.

MoveTo(x, y)

W celu przesunięcia wskaźnika ekranu do punktu o współrzędnych (x,y) należy wywołać procedurę MoveTo. W wywołaniu tym x, y muszą być typu Integer. Wskaźnik ekranu jest zawsze odniesiony do punktu (0,0) bieżącego okna.

MoveRel (dx, dy)

Inną operacją przesuwającą aktualne położenia wskaźnika ekranu jest jego przesunięcie względne o zadany wektor wzdłuż osi x i osi y. Operacja ta jest wykonywana za pomocą procedury MoveRel. Argumenty wywołania (wielkości przesunięcia względnego mierzone w pixelach) powinny być typu Integer.

GetX, GetY

Do otrzymywania współrzędnych aktualnego położenia wskaźnika ekrany względem bieżącego okna służą bezparametrowe funkcje standardowe GetX i zwracające wartości typu Integer - współrzędne x i y. Do rysowania odcinków prostych dostępne są w module Graph trzy procedury, których wszystkie argumenty wywołań powinny być wielkościami typu Integer (w ogólności mogą to być wyrażenia).

Line (xl,yl,x2,y2)

Wywołanie procedury Line powoduje narysowanie odcinka od punktu ekranu o współrzędnych (xl,yl) do punktu o współrzędnych (x2,y2). Aktualne położenie wskaźnika ekranu nie ulega przy tym zmianie.

LineRel (dx,dy)

Za pomocą LineRel otrzymuje się odcinek, którego początek znajduje się w miejscu aktualnego położenia wskaźnika ekranu, a koniec jest przesunięty w stosunku do tego punktu o wyspecyfikowane wielkości dx i dy. Wskaźnik przemieszcza się do końca rysowanego odcinka.

LineTo (x,y)

Wywołanie trzeciej procedury LineTo powoduje narysowanie odcinka od miejsca aktualnego położenia wskaźnika ekranu do punktu o podanych w wywołaniu współrzędnych (x,y). Także w tym przypadku wskaźnik ekranu zostanie przesunięty do końca narysowanego odcinka.
PutPixel (x,y,kolor) Przez wywołanie tej procedury otrzymuje się zaznaczanie na ekranie punktu gdzie x, y są wielkościami typu Integer i oznaczają współrzędne punktu w bieżącym oknie, a kolor jest argumentem typu Word określającym kolor punktu.

Rectangle(xl, yl, x2, y2)

Obraz prostokąta w wybranym oknie, narysowanego wybranym kolorem otrzymuje się przez wywołanie procedury Rectangle, gdzie xl,yl,x2,y2 są wielkościami typu Integer. Punkt (xl,yl) to lewy górny narożnik prostokąta, a (x2,y2) prawy dolny.

Circle(x,y,r)

Obraz okręgu w wybranym oknie, narysowanego wybranym kolorem otrzymuje się przez wywołanie procedury Circle, gdzie x, y są wielkościami typu Integer, r wielkością typu Word.



Wyszukiwarka

Podobne podstrony:
Polecenia trybu graficznego
Polecenia trybu graficznego
4 Inicjowanie trybu graficznego
masalski,grafika komupterowa, Wykorzystanie?rwy w grafice komputerowej
masalski,grafika komupterowa, PRZEGLĄDARKI GRAFICZNE
4 Inicjowanie trybu graficznego
Polecenia trybu DOS, POLECENIA TRYBU MS-DOS
4 Inicjowanie trybu graficznego
Tryb graficzny - polecenia, !! Własne [chomikować z tego folderu]
Zastosowanie metod kodowania w programach graficznych, Nauka, Studia, Wykłady, Grafika komputerowa
masalski,grafika komupterowa, Animacja ruch w grafice
Chawraj Michal Multimedia i Grafika Komputerowa Grafika rastrowa i wektorowa i formaty plikow grafic
SILNIKI GRAFICZNE W GRACH KOMPUTEROWYCH

więcej podobnych podstron