modul graph procedury

background image

Moduł Graph

Moduł Graph obsługuje operacje ekranowej grafiki punktowej (pikselowej).

Zawiera on procedury i funkcje, które umożliwiają rysowanie na ekranie monitora
krzywych różnych kształtów i kolorów, wypełnianie obszarów określonym wzorem i
kolorem jak również wykreślanie tekstów o zdefiniowanej przez użytkownika wielkości
wybraną czcionką w poziomie lub pionie. Umiejętne wykorzystanie zasobów modułu
pozwala również na tworzenie rysunków animowanych

Z przeważającej większości procedur i funkcji można korzystać dopiero po

zainicjowaniu graficznego trybu pracy monitora (procedura InitGraph).
Przejście do trybu graficznego powoduje przydzielenie części pamięci operacyjnej dla
potrzeb realizacji operacji graficznych. Po zakończeniu ich wykonywania należy
zwolnić tę część pamięci i przywrócić poprzedni tryb tekstowy za pomocą procedury
CloseGraph.

Dla prawidłowej pracy monitora w trybie graficznym potrzebne są programy

obsługujące zainstalowaną w komputerze kartę graficzną. Programy takie nazwano
sterownikami (ang. Drivers). W systemie TP zdefiniowano sterowniki dla 8
najpopularniejszych kart graficznych komputerów klasy IBM: CGA, MCGA, EGA,
VGA, Hercules, ATT400, IBM8514, IBM3270PC. Sterownikom tym nadano
rozszerzenie BGI (Borland Graphics Interface).

Okno graficzne

Wszystkie operacje graficzne wykonywane są w obrębie okna graficznego. W

momencie inicjacji trybu graficznego okno zajmuje cały ekran. Lewy, górny róg ekranu
ma współrzędne (0,0) i jest początkiem układu, którego oś pionowa jest skierowana w
dół, a oś pozioma - w prawo. Współrzędne prawego dolnego rogu są określone przez
funkcje GetMaxX i GetMaxY i zależą od rozdzielczości ekranu i jego trybu pracy.
Rozdzielczość ekranu, mająca istotny wpływ na współczynnik kształtu obrazu (ang.
aspect ratio), jest definiowana przez rodzaj monitora i rodzaj obsługującej go karty
graficznej.

Użytkownik ma możliwość definiowania wielkości i położenia okna

graficznego w obrębie ekranu i wykonywania w ramach tego okna operacji graficznych.

Kursor graficzny jest niewidoczny i w chwili określenia okna graficznego lub

inicjacji trybu graficznego umieszczany w punkcie (0,0).

Każdy punkt może być „zapalony” lub „zgaszony” - wtedy odpowiadający mu

bit zmiennej wzorca ekranu ma wartość odpowiednio 1

0.


Rodzaje krojów czcionki.

W celu wykreślenia na ekranie graficznym tekstów można skorzystać z 5

rodzajów czcionek (ang. fonts), udostępnionych przez moduł Graph. Jedna z nich jest
czcionką punktową (ang. 8x8 bit - mapped), pozostałe są czcionkami kreskowymi (ang.

stroked). Pierwszy rodzaj czcionki jest zdefiniowany jako macierz o wym. 8x8
punktów. Czcionki kreskowe to ciąg wektorów, który informuje system o tym jak mają
być rysowane jej znaki. Jakość tekstu czcionki kreskowej jest lepsza, szczególnie przy
wyprowadzaniu dużych napisów.

Definicja czcionki punktowej ładowana jest do pamięci operacyjnej w trakcie

inicjacji trybu graficznego i rezyduje w niej do momentu wykonania procedury
CloseGraph. Definicja wybranej czcionki kreskowej umieszczana jest w pamięci tylko
wtedy, jeśli jest do niej odwołanie w procedurze SetTextStyle, a usuwana przy
odwołaniu się do innego kroju czcionki. Użytkownik ma możliwość uczynienia kroju
czcionek rezydentnym (por. opis procedury RegisterBGIfont).

Stałe kolorów

Identyfikator

Wartość

Kolor

Black

0

Czarny

Blue

1

Niebieski

Green

2

Zielony

Cyan

3

Morski

Red

4

Czerwony

Magenta

5

Fioletowy

Brown

6

Brązowy

LightGray

7

Jasnoszary

DarkGray

8

Ciemnoszary

LightBlue

9

Jasnoniebieski

LightGreen

10

Jasnozielony

LightCyan

11

Jasnomorski

LightRed

12

Jasnoczerwony

LightMagenta

13

Jasnofioletowy

Yellow

14

śółty

White

15

Biały

Stałe rodzajów linii

Identyfikator

Wartość

Wzorzec

SolidLn

0

linia ciągła

DottedLn

1

linia kropkowana

CenterLn

2

linia przerywana

DashedLn

3

linia przerywana

UsesBitLn

4

wzorzec definiowany

przez użytkownika


background image

Grubość linii

Identyfikator

Wartość

Grubość

NormWidth

1

normalna(domyślna)

ThickWidth

3

pogrubiona

S

tałe sposobu wykreślania tekstów

Identyfikator

Wartość

Znaczenie

HorizDir

0

poziomo - od lewej do prawej

VertDir

1

pionowo - od dołu do góry

Stałe justowania

Justowanie jest pojęciem stosowanym przy określaniu sposobu wykreślania tekstu i
oznacza wstawianie odstępów między znakami, wyrazami i wierszami dla zachowania
odpowiedniej wielkości szpalty. Pojęcie to używane jest wymiennie z pojęciem
wyrównywania lub centrowania.

Identyfikator

Wartość

Znaczenie

LeftText

0

Wyrównywanie do lewej

CenterText

1

Centrowanie w poziomie

RightText

2

Wyrównywanie do prawej

BottomText

0

Wyrównywanie do dołu

CenterText

1

Centrowanie w pionie

TopText

2

Wyrównywanie do góry

Stałe wzorca wypełnienia

Stosowane przy określaniu sposobu wypełniania obszarów i używane w

wywołaniu procedur: GetFillSettings i SetFillStyle.

Identyfikator

Wartość

Wzorzec

EmptyFill

0

brak wypełnienia

SolidFill

1

wypełnienie pełne

LineFill

2

w poziome linie

LtSlashFill

3

ukośne linie

SlashFill

4

ukośne linie

BkSlashFill

5

ukośne linie

LtBkSlashFill

6

ukośne linie

HatchFill

7

kratka

XHatchFill

8

kratka ukośna

InterleaveFill

9

falowane pionowe linie

WideDotFill

10

kropki

CloseDotFi;;

11

gęste kropki

UserFill

12

wzorzec definiowany przez

użytkownika

Stałe kroju czcionki

Identyfikator

Wartość

Wzorzec

DefaultFont

0

TriplexFont

1

SmallFont

2

SansSerifFont

3

GothicFont

4

Funkcje i procedury modułu Graph


Funkcje i procedury organizacyjne:

CloseGraph

zakończenie pracy w trybie graficznym

DetectGraph(sterownik,tryb)

rozpoznanie karty graficznej

GraphDefaults

wznowienie domyślnego środowiska
graficznego

GraphResult

ujawnienie kodu błędu operacji graficznej

GraphErrorMsg(kod_błędu)

udostępnienie komunikatu o błędzie operacji
graficznej

InitGraph(sterownik, tryb,
skorowidz)

zainicjowanie trybu graficznego

InstallUserDriver

instalowanie nowego sterownika

InstallUserFont

instalowanie nowego fontu

RegisterBGIdriver(sterownik)

zarejestrowanie programu obsługi karty
graficznej

RegisterBGIfont(krój)

zarejestrowanie programu czcionki kreskowej

RestoreCrtMode

przywrócenie trybu tekstowego

SetGraphBufSize

określenie rozmiaru bufora dla wypełniania
obszarów

SetGraphMode(tryb)

ustanowienie graficznego trybu pracy

Funkcje i procedury obrazowe:


GetImage(x1, y1, x2, y2, obraz) zapamiętanie obrazu graficznego
ImageSize(x1, y1, x2, y2)

wyznaczenie rozmiaru pamięci potrzebnego
dla przechowania obrazu

PutImage(X, Y, obraz,

wyświetlenie zapamiętanego obrazu

background image

operacja)

graficznego

Funkcje i procedury informujące o środowisku
graficznym:

GetDriverName

ujawnienie nazwy sterownika graficznego

GetGraphMode

ujawnienie numeru bieżącego trybu
graficznego

GetMaxMode

ujawnienie najwyższego trybu graficznego

GetModeName(numer_trybu)

ujawnienie nazwy trybu graficznego

GetModeRange(sterownik,
trb_min, tryb_max)

określenie skrajnych wartości trybu
graficznego wyspecjalizowanego sterownika


Funkcje i procedury informujące o parametrach
graficznych:

GetAspectRatio

ujawnienie współczynnika kształtu ekranu

GetArcCoords

ujawnienie współrzędnych łuku

GetBkColor

wyznaczenie numeru koloru tła

GetColor

wyznaczenie numeru koloru atramentu

GetDefautPalette

ujawnienie liczby kolorów i ich numerów w
palecie domyślnej

GetFillPattern

udostępnienie wzorca wypełnienia

GetFillSettings

udostępnienie wzorca i koloru wypełnienia

GetLineSettings

udostępnienie wzorca linii

GetMaxColor

wyznaczenie maksymalnego numeru koloru
palety

GetPalette

udostępnienie informacji o kolorach i
rozmiarze palety

GetPaletteSize

ujawnienie rozmiaru palety bieżącego trybu
graficznego

Procedury ustalające parametry graficzne:

SetAllPalette(paleta)

zdefiniowanie kolorów palett

SetAspectRatio(szerokość,wyso
kość)

ustalenie współczynników kształtu obrazu

SetBkColor(kolor)

ustalenie koloru tła trybu graficznego

SetColor(kolor)

ustalenie koloru atramentu trybu graficznego

SetFillPattern(wzór
zdefiniowany,kolor)

zdefiniowanie wzorca wypełnienia

SetFillStyle(wzór, kolor)

wybór wzorca wypełnienia

SetLineStyle(rodzaj linii, wzór,
grubość)

ustalenie wzorca linii

SetPalette(nr_koloru, kolor)

zmiana koloru w palecie karty graficznej

SetRGBPalette(nr_koloru,
czerwony, zielony, niebieski)

zmiana koloru w palecie karty graficznej
VGA/IBM8514

SetWriteMode
(tyrb_rysowania)

określenie sposobu nakładania linii

Procedury wspomagające operacje graficzne:

ClearDevice

wyczyszczenie ekranu graficznego

ClearViewPort

wyczyszczenie okna graficznego

GetViewSettings

udostępnienie parametrów okna graficznego

SetActivePage(strona)

wybranie aktywnej strony ekranu graficznego

SetVisualPage(strona)

wyświetlenie na ekranie wskazanej strony
ekranu graficznego

SetViewPort(x1, y1, x2, y2,
obcięcie)

ustanowienie okna graficznego

Funkcje i procedury tekstowe:

GetTextSettings

ujawnienie parametrów wykreślanego tekstu

OutText(łańcuch)

wykreślenie tekstu

OutTextXY(x,y, łańcuch)

wykreślenie tekstu w określonym miejscu

SetTextJustify(poziom, pion)

określenie sposobu justowania wykreślanego
tekstu

SetTextStyle(krój, kierunek,
rozmiar)

określenie parametrów wykreślanego tekstu

SetUserCharSize

określenie rozmiaru znaków fontów
kreskowych

TextHeight

wyznaczenie wysokości wykreślanego tekstu

TextWidth

wyznaczenie szerokości wykreślanego tekstu

background image


Operacje graficzne:

Arc(x,y,kąt1, kat2, r)

wykreślenie łuku okręgu

Bar(x1, y1, x2, y2)

wykreślenie wypełnionego słupka

Bar3D(x1, y1, x2, y2, głębokość,
wierzchołek)

wykreślenie wypełnionego słupka
trójwymiarowego

Circle(x, y, r)

wykreślenie okręgu

DrawPoly(liczba_punktów,
współrzędne_punktów)

rysowanie łamanej

Ellipse(x,y, kąt1, kąt2, xr,yr)

wykreślenie łuku elipsy

FillEllipse

wykreślenie wypełnionej elipsy

FillPoly(liczba_punktów,
współrzędne_punktow)

wykreślenie wypełnionej łamanej
zamkniętej

FloodFill(x, y, brzeg)

wypełnienie zdefiniowanego obszaru
zawierającego x,y

GetMaxX

ujawnienie max. współrz. poziomej
ekranu graficznego

GetMaxY

ujawnienie max. współrz. pionowej
ekranu graficznego

GetPixel(x, y)

ujawnienie numeru koloru piksela

GetX

ujawnienie poziomej współrz. aktualnej
pozycji kursora

GetY

ujawnienie pionowej współrz. aktualnej
pozycji kursora

Line(x1,y1,x2,y2)

wykreślenie odcinka linii prostej

Lineto(x,y)

wykreślenie odcinka linii prostej

LineRel(wektor1,wektor2)

wykreślenie odcinka linii prostej

MoveRel(wektor1, wektor2)

względne przesunięcie kursora
graficznego

MoveTo(x,y)

bezwzględne przesunięcie kursora
graficznego

PieSlice(x,y,kąt1, kat2, r)

wykreślenie wypełnionego wycinka koła

PutPixel(x,y,kolor)

wyświetlenie piksela

Rectangle(x1,y1,x2, y2)

wykreślenie prostokąta

Sektor(x,y, kąt1, kąt2, półoś_x,
półoś_y

wykreślenie wypełnionego wycinka
elipsy






Wyszukiwarka

Podobne podstrony:
37 Moduł graph w Pascalu
Moduł Graph
PROCEDURA OLUP
modul I historia strategii2002
06 pamięć proceduralna schematy, skrypty, ramyid 6150 ppt
Komunikacja Moduł (2)
LAB PROCEDURY I FUNKCJE
Moduł IV WŁADZA W013
MODUŁ POWIETRZE
Modul 1 Misja, strategia, planowanie
Modul 1 ZNACZENIE JAKOSCI
proces nbsp pomocy nbsp, nbsp strategie nbsp i nbsp procedury nbsp SWPS[1][1] 4
moduł losowości
Moduł III cz 2 stała i stopien dysocjacji, zobojetnianie
Procedura systemowa Nadzór nad produktami niezgodnymi
Modul 3 Podstawy elektroniki cyfrowej

więcej podobnych podstron