Procedury i funkcje trybu grafi Nieznany

background image

Tworzenie obiektów graficznych - procedury i funkcje

1/6

Procedury i funkcje trybu graficznego.

A. Szablon programu.

program rysowanie;

uses graph, crt;

var ster,tryb:integer;

begin

ster:=detect;
initGraph(ster,tryb,'C:\progra~1\tp\bgi');

{tutaj rysujemy}

repeat until keypressed; { ewentualnie delay}
closegraph;
readln;
end.















Rys. Układ współrzędnych ekranu w trybie wysokiej rozdzielczości.

B. Przegląd procedur i funkcji.

Poniższe procedury i funkcje pochodzą z modułu graph.

1. Funkcja

GetMaxX

Składnia:

GetMaxX:integer;

Opis: Zwraca maksymalną wartość współrzędnej poziomej (x) dla aktualnego trybu
graficznego.

2. Funkcja

GetMaxY

Składnia:

GetMaxY:integer;

Opis: Zwraca maksymalną wartość współrzędnej pionowej (y) dla aktualnego trybu
graficznego.
Przykład:

line(10,10,GetMaxX, GetMaxY);

x

639

0

0

479

y

background image

Tworzenie obiektów graficznych - procedury i funkcje

2/6

3. Procedura:

Line

Składnia:

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

Opis: Rysuje linię prostą od punktu (x1,y1) do punktu (x2,y2). Procedura nie zmienia
położenia kursora graficznego.
Przykład:

line(10,10,10,100);


4. Procedura

MoveTo

Składnia:

MoveTo(x1,y1):integer;

Opis: Przemieszcza kursor graficzny do punktu o podanych współrzędnych.
Przykład:

moveTo(30,40);


5. Procedura:

LineRel

Składnia:

LineRel(dx,dy:integer);

Opis: Rysuje linie zaczynającą się w punkcie aktualnego położenia wskaźnika ekranu
(kursora graficznego) i kończącą się w punkcie o współrzędnych przesuniętych względem
jego pozycji ( o dx w kierunku osi Ox i o dy w kierunku osi Oy). Procedura przesuwa
wskaźnik ekranu (kursor graficzny) na koniec wykreślonej linii.
Przykład:

lineRel(100,0);


6. Procedura

LineTo

Składnia:

LineTo(x1,y1:integer);

Opis: Rysuje linię zaczynającą się w punkcie wskazanym przez kursor graficzny i kończącą
się w punkcie (x1,y1). Procedura przesuwa wskaźnik ekranu na koniec wykreślonej linii.
Przykład:

lineTo(100,0);


7. Procedura

SetColor

Składnia:

SetColor(N:word);

Opis: Ustala na podstawie palety aktualny kolor kreślenia linii. Ilość dostępnych kolorów
zależy od trybu graficznego.

Stała koloru

Kod

Kolor

black

0

czarny

blue

1

niebieski

green

2

zielony

cyan

3

turkusowy

red

4

czerwony

magenta

5

karmazynowy

brown

6

brązowy

lightgray

7

jasnoszary

darkgray

8

szary

lightblue

9

jasnoniebieski

lightgreen

10

jasnozielony

lightcyan

11

jasny turkus

lightred

12

jasnoczerwony

lightmagenta 13

jasnokarmazynowy

yellow

14

żółty

white

15

biały

background image

Tworzenie obiektów graficznych - procedury i funkcje

3/6


Przykład:

setColor(cyan); {zmiana koloru linii na cyan}
line(10,10,100,10); {linia w kolorze cyan}
setColor(4); {zmiana koloru linii na czerwony - nr 4}
line(10,10,10,100); {linia w kolorze czerwonym}


8. Procedura

SetBkColor

Składnia:

SetBkColor(N:word);

Opis: ustala kolor tła ekranu graficznego. Ilość dostępnych kolorów zależy od trybu
graficznego.
Przykład:

setBkColor(lightgray); {zmiana koloru tla na jasnoszary}
setBkColor(14); {zmiana koloru tla na zolty}


9. Procedura

SetLineStyle

Składnia:

SetLineStyle ( styl, wzorzec, grubosc:word );

Opis: Zmienia styl (rodzaj linii) oraz jej grubość używanej przy procedurach

Line, Circle,

itd.


Parametr

styl

:

SolidLn = 0 - ciągła
DottedLn = 1 - kropkowana
CenterLn = 2 - symetryczna
DashedLn = 3 - przerywana
UserBitLn = 4 - o wzorze zdefiniowanym przez użytkownika


Parametr

wzorzec

- jest to zdefiniowane przez użytkownika kolejne 16 pikseli nowej

nietypowej linii (

styl=4

). Jeżeli styl linii jest różny od 4 to pod wzór możemy wstawić

jakąkolwiek liczbę gdyż nie będzie ona brana pod uwagę.

Parametr

grubosc

:

NormWidth = 1 - linia normalna
ThickWidth = 3 - linia pogrubiona


Przykład:

setLineStyle(0,0,3); {0 - linia ciagla, 0 - wzorzec domyslny, 3 - gruba}
line(20,20, 300,300);
setLineStyle(1,0,1); {1 - kropkowana, 0 - wzorzec domyslny, 1 - normalna}
line(100,50, 350,350);
setLineStyle(2,0,3); {2 - symetryczna, 0 - wzorzec domyslny, 3 - gruba}
line(200,100,200,300);


10. Procedura

SetFillStyle

Składnia:

SetFillStyle( nrwzorca,kolor:word );

Opis: Zmienia rodzaj i kolor wypełnienia konturów wykorzystywanych przez niektóre
procedury np. przez

Bar

,

Bar3D

itp. Domyślne ustawienia początkowe to wzorzec

wypełniania ciągłego i numer koloru będący maksymalnym kolorem aktualnego trybu
graficznego. Rodzaje wzorca (parametr

nrwzorca

) to:

EmptyFill = 0 - wypełnienie kolorem tła
SolidFill = 1 - wypełnienie ciągłe
LineFill = 2 - wypełnienie pogrubionymi liniami poziomymi
LtSlashFill = 3 - wypełnienie liniami pochyłymi w prawo

background image

Tworzenie obiektów graficznych - procedury i funkcje

4/6

SlashFill = 4 - wypełnienie pogrubionymi liniami pochyłymi w prawo
BkSlashFill = 5 - wypełnienie pogrubionymi liniami pochyłymi w lewo
LtBkSlashFill = 6 - wypełnienie liniami pochyłymi w lewo
HatchFill = 7 - wypełnienie siatką pionową
xHatchFill = 8 - wypełnienie siatką ukośną
InteerleaveFill = 9 - wypełnienie liniami splecionymi
VideDotFill = 10 - wypełnienie kropkami
CloseDotFill = 11 - wypełnienie zagęszczonymi kropkami
UserFill = 12 - wypełnienie wzorem zdefiniowanym przez użytkownika
procedurą SetFillPattern


Przykład:

setFillStyle(1,yellow); { 1-wypelnienie ciagle, kolor wypelnienia - zolty}
setFillStyle(7,4);{7-wypelnienie siatką pionową, kolor wypeln. - 4 (red)}

11. Procedura

Circle

Składnia:

Circle ( x,y:integer; r:word );

Opis: Procedura rysuje okrąg o środku umieszczonym w punkcie

(x,y)

, promieniu

r

i

kolorze określonym przez procedurę

SetColor

.

uses graph,crt;
var ster,tryb:integer;
begin
ster:=detect;
initGraph(ster, tryb, 'C:\progra~1\tp\bgi');
circle(320,240,40);{koło o współrzędnych środka 320,240 i promieniu 40}
repeat until keypressed;
closeGraph;
End.


12.Procedura

Rectangle

Składnia:

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

Opis: Procedura rysuje prostokąt.
(x1,y1) to współrzędne lewego górnego wierzchołka, a (x2,y2) to współrzędne prawego
dolnego wierzchołka ( są to przeciwległe wierzchołki ). Muszą być spełnione warunki:
0<=

x1

<

x2

<=

GetMaxX

, 0<=

y1

<

y2

<=

GetMaxY

.

Przykład:

rectangle(10,10,100,100);


13. Procedura

Arc

Składnia:

arc(x,y:integer; pocz,kon, r:word);

Opis: Rysuje łuk (wycinek okręgu) dla podanych współrzędnych środka, kącie i promieniu.
Parametry

x

i

y

oznaczają współrzędne środka. Kąty

pocz

i

kon

podaje się w stopniach. Dla

pocz=0

i

kon=360

procedura wyświetla pełny okrąg. Procedura kreśli łuk w kierunku

przeciwnym do ruchu wskazówek zegara (kąt zero odpowiada godzinie 3.00).
Przykład:

arc(320, 240,10,50,60);
{wycinek okregu o środku w punkcie (320,240), pocz = 10, kon = 50, promien
okregu = 60 }

background image

Tworzenie obiektów graficznych - procedury i funkcje

5/6


14. Procedura

Ellipse

Składnia:

Ellipse(x,y:integer; pocz,kon,px,py:word);

Opis: Rysuje elipsę lub jej wycinek. Parametry

px

,

py

są długościami półosi elipsy (

x

,

y

,

pocz

,

kon

– jak dla arc).

Przykład:

ellipse(x, y, 0, 270, 80, 60);


15. Procedura

FloodFill

Składnia:

FloodFill ( x,y:integer; kolor_granicy:word );

Opis: Wypełnia ograniczony obszar ekranu akutalnym wzorcem wypełnienia.
Najpierw wypełniany jest punkt o współrzędnych (x,y), następnie punkty leżące wokół niego,
potem ich sąsiedzi, aż do napotkania linii o kolorze

kolor_granicy

lub granicy ekranu.

uses graph, crt;
var
ster,tryb:integer;

begin
ster:=detect;
initGraph(ster, tryb, 'C:\progra~1\tp\bgi' );
setColor(green);

background image

Tworzenie obiektów graficznych - procedury i funkcje

6/6

Rectangle(30,30,120,120);
Rectangle(10,10,100,100);
floodFill(50,50,Green);
repeat until keypressed;
closeGraph;
end.

Program wypełnia obszar który jest wspólny dla obu prostokątów.

16. Procedura

PutPixel

Składnia:

PutPixel ( X,Y:integer; Kolor:word );

Procedura wyświetla na ekranie jeden punkt o kolorze

Kolor

, jest to przydatne przy

precyzyjnym rysowaniu. Procedura nie zmienia położenia wskaźnika ekranu.

17. Procedura

OutTextXY

Składnia:

OutTextXY ( X,Y:integer; S:string );

Procedura wyświetla na ekranie tekst określony przez zmienną

S

rozpoczynając od

współrzędnych (X,Y) i w aktualnym kolorze (

SetColor

) .


uses graph,crt;
var
ster,tryb:integer;

begin
ster:=detect;
initGraph(ster, tryb, ' C:\progra~1\tp\bgi' );
outTextXY(200,100,'Oto tekst');
repeat until keypressed;
closeGraph;
End.


18. Procedura

ClearDevice

Składnia:

ClearDevice;

Procedura czyści ekran graficzny.


Wyszukiwarka

Podobne podstrony:
LAB PROCEDURY I FUNKCJE
Procedury i funkcje
procedury medyczne id 393347 Nieznany
5 ekstrema funkcji id 40709 Nieznany (2)
asymetria funkcjonalna mozgu py Nieznany (2)
Laboratorium nr 4 funkcje cd id Nieznany
7 Funkcjonalizm id 44874 Nieznany (2)
procedury i funkcje
Funkcje 5 id 181902 Nieznany
PAS procedury funkcje (2)
FUNKCJONOWANIE SEKSUALNE CZLOWI Nieznany
wykład 4 procedury, funkcje, sekwencje, paczki, wyzwalacze
Funkcje 6 id 181903 Nieznany
Procedura udzielania pomocy psy Nieznany
pk procedury i funkcje

więcej podobnych podstron