PROGRAMOWANIE
WEBMASTER:
 Artyku³y
 Kursy
 Skrypty
PHP:
 Artyku³y
 Kursy
 Skrypty
VISUAL C/C++:
 Artyku³y
 Kursy
 Kody ¼ród³owe
C++ BUILDER:
 Artyku³y
 Kursy
 Komponenty
 Kody ¼ród³owe
 FAQ
DELPHI:
 Artyku³y
 Kursy
 Komponenty
 Kody ¼ród³owe
 FAQ
JAVA:
 Artyku³y
 Kursy
 Aplety
ASP:
 Artyku³y
 Kursy
 Skrypty
VISUAL BASIC:
 Artyku³y
 Kursy
 Kody ¼ród³owe
PASCAL:
 Artyku³y
 Kursy
 Kody ¼ród³owe
ASSEMBLER:
 Artyku³y
 Kursy
 Kody ¼ród³owe
O NAS [...]
 Ekipa portalu
 Reklama
REKLAMA

Pascal » Artyku³y
Opis modu³u Graph
Grafika ekranowa zale¿y od rodzaju karty graficznej, w któr± wyposa¿ony jest komputer, oraz od rodzaju monitora. Dobre mo¿liwo¶ci (zwi±zane przede wszystkim z liczb± kolorów i rozdzielczo¶ci± ekranu) daj± szeroko rozpowszechnione w naszym kraju karty VGA, która pozwala na pracê w trzech trybach graficznych. Ka¿dy program graficzny powinien zawieraæ procedurê inicjuj±c± tryb graficzny, która dla karty VGA mo¿e mieæ postaæ:

procedure VGAinit;

var blad, sterownik,tryb : Integer;

begin

sterownik:=VGA;

tryb:=VGAHi;

InitGraph(sterownik,tryb,'');

blad:=GraphResult;

if blad<>0

then begin

Writeln ('B³±d podczas inicjacji trybu graficznego');

Write ('Kod b³êdu: ',blad);

Halt

end

end;

Aby rozpocz±æ pracê nad programem graficznym nale¿y zadeklerowaæ u¿ycie modu³u Graph (uses graph;)

Nastêpnie nale¿y zainicjowaæ tryb graficzny np. powy¿sz± procedur±.

Po inicjacji trybu graficznego mo¿na wykorzystywaæ procedury i funkcje opisane w dalszej czê¶ci rozdzia³u

Modu³ Graph

Modu³ zawiera funkcje i procedury obs³ugi grafiki, umo¿liwiaj±ce jej realizacjê na dowolnych kartach graficznych, stosowanych w konfiguracjach sprzêtu typu IBM PC. Nale¿y zaznaczyæ, ¿e program napisany dla jednego typu urz±dzenia graficznego mo¿e byæ uruchamiany na innych, pod warunkiem operowania w nim wzglêdnymi warto¶ciami rozdzielczo¶ci ekranu i numerami kolorów, z zastosowaniem odpowiedniego sterownika ekranu. W niniejszym rozdziale zamieszczono definicje typów, sta³ych, zmiennych, funkcji i procedur, niezbêdnych przy tworzeniu programu.

Sta³e

kody b³êdów graficznych (patrz: Komunikaty b³êdów)

grOk = 0;

grNolnitGraph = -1;

grNotDetected = -2;

grFileNotFound = -3;

grlnvalidDriver = -4;

grNoLoadMem = -5;

grNoScanMem = -6;

grNoFloodMem = -7;

grFontNotFound = -8;

grNoFontMem = -9;

grlnvalidMode = -10;

grError = -11;

grIOerror = -12;

grlnvalidFont = -13;

grlnvalidFontNum = -14;

definiuj±ce sterowniki ekranu

CurrentDriver = -128;

Detect = 0;

CGA = 1;

MCGA = 2;

EGA = 3;

EGA64 = 4;

EGAMono = 5;

IBM8514 == 6;

HercMono = 7;

ATT400 = 8;

VGA = 9;

PC3270 =10;

definiuj±ce tryby graficzne

CGACO = 0; 320x200, paleta 0: kolor 10,12,14, 1 strona

CGAC1 = 1; 320x200, paleta 1: kolor 11, 13, 15,1 strona

CGAC2 = 2; 320x200, paleta 2: kolor 2, 4, 6, 1 strona

CGAC3 = 3; 320x200, paleta 3: kolor 3, 5, 7, 1 strona

CGAHi = 4; 640x200,1 kolor, 1 strona

MCGACO = 0; 320x200, paleta 0: kolor 10, 12, 14, 1 strona

MCGAC1 = 1; 320x200, paleta 1: kolor 11,13,15, 1 strona

MCGAC2 = 2; 320x200, paleta 2: kolor 2, 4, 6, 1 strona

MCGAC3 = 3; 320x200, paleta 3: kolor 3, 5, 7, 1 strona

MCGAMed = 4; 640x200, 1 kolor, 1 strona

MCGAHi = 5; 640x480, 1 strona

EGALo = 0; 640x200,16 kolorów, 4 strony

EGAHi = 1; 640x350,16 kolorów, 2 strony

EGA64LO = 0; 640x200,16 kolorów, 1 strona

EGA64HI = 1; 640x350, 4 kolory, 1 strona

EGAMonoHi = 3; 640x350, karty: 64 K - 1 strona, 256 K-2 strony

HercMonoHi = 0; 720x348, 2 strony

ATT400CO = 0; 320x200, paleta O: kolor 10, 12, 14, 1 strona

ATT400C1 = 1; 320x200, paleta 1: kolor 11,13,15, 1 strona

ATT400C2 = 2 ;320x200, paleta 2: kolor 2, 4, 6, 1 strona

ATT400C3 = 3; 320x200, paleta 3: kolor 3, 5, 7, 1 strona

ATT400Med = 4 ;640x200, 1 strona

ATT400HI = 5 ;640x400, 1 strona

VGALo = 0; 640x200, 16 kolorów, 4 strony

VGAMed = 1 ;640x350, 16 kolorów, 2 strony

VGAHi = 2; 640x480, 16 kolorów, 1 strona

PC3270HI = 0; 720x350, 1 strona

IBM8514LO = 0; 640x480, 256 kolorów

IBM8514HI = 1 ;1024x768, 256 kolorów

definiuj±ca maksymaln± liczbê kolorów

MaxColors =15; 16 kolorów (0.. 15)

definiuj±ce kolory

Black = 0; czarny

Blue = 1; niebieski

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; ciemnoszary

LightBIue = 9; jasnoniebieski

LightGreen = 10; jasnozielony

LightCyan =11; jasnoturkusowy

LightRed =12; jasnoczerwony

LightMagenta =13; jasnokarmazynowy

Yellow = 14; ¿ó³ty

White = 15; bia³y

definiuj±ce kolory karty EGA na karcie IBM8514

EGABIack = 0; EGADarkgray = 56;

EGABIue = 1; EGALightbIue = 57;

EGAGreen = 2; EGALightgreen = 58;

EGACyan = 3; EGALightcyan = 59;

EGARed = 4; EGALightred = 60;

EGAMagenta = 5; EGALightmagenta = 61;

EGABrown = 20; EGAYellow = 62;

EGALightgray = 7; EGAWhite = 63;

definiuj±ce rodzaje linii

SolidLn = 0; ci±g³a

DottedLn = 1; przerywana kropkowana

CenterLn = 2; przerywana (kreska kropka)

DashedLn = 3; przerywana (kreski)

UserBitLn = 4; definiowana przez u¿ytkownika

NormWidth = 1; normalnej grubo¶ci (jeden punkt)

ThickWidth = 3; pogrubiona (trzy punkty)

definiuj±ce krój pisma

DefaultFont = 0; standardowe (8x8 punktów)

TriplexFont = 1;

SmallFont = 2; pismo techniczne

SansSerifFont = 3; bezszeryfowa

GothicFont = 4; pismo gotyckie

definiuj±ce kierunek wyprowadzania tekstu

HorizDir = 0; od lewej do prawej

VertDir = 1; z do³u do góry (pionowe - odwrócone o 90 stopni w lewo)

definiuj±ce po³o¿enie tekstu (wyrównywanie) wzglêdem pozycji kursora graficznego

LeftText = 0; poziomo, wyrównanie od lewej

CenterText = 1; poziomo, wy¶rodkowanie

RightText = 2; poziomo, wyrównanie od prawej

BottomText = 0; pionowo, wyrównanie od do³u

CenterText = 1; pionowo, wycentrowanie

TopText = 2; pionowo, wyrównanie od góry

definiuj±ca wielko¶æ znaków

UserCharSize = 0; wielko¶æ standardowa

definiuj±ce mo¿liwo¶ci rysowania poza oknem graficznym

ClipOn=True; obcinanie linii na obrze¿u

ClipOff=False; rysowanie poza oknem

definiuj±ce wierzcho³ek s³upka trójwymiarowego

TopOn = True; zakoñczony

TopOff = False; niezakoñczony

definiuj±ce wzór do wype³niania konturów

EmptyFill = 0; kolor t³a, wzór pusty

SolidFill = 1; pe³ne wype³nienie

LinePill = 2; kreski poziome

LtSIashFill = 3; kreski prawosko¶ne

SlashFill = 4; kreski prawosko¶ne pogrubione

BkSlashFill = 5; kreski lewosko¶ne

LtBkSlashFill = 6; kreski lewosko¶ne pogrubione

HatchFill = 7; kratka prosta

XHatchFill = 8; kratka uko¶na

lnterleaveFill = 9; punkty zagêszczone

WideDotFill = 10; kropki

CloseDotFill = 11; gêste kropki

UserFill = 12; wzór definiowany przez u¿ytkownika

definiuj±ce rodzaj operacji na bitach pamiêci ekranu oraz bufora obrazu (Putlmage i SetWriteMode)

NormalPut = 0; MOV

CopyPut = 0; MOV

XORPut = 1; XOR

OrPut = 2; OR

AndPut = 3; AND

NotPut = 4; NOT

typy

charakterystyki palety (najwiêksza liczba kolorów (Size) - 16, najwiêkszy numer koloru (MaxColors) - 15)

PaletteType = record

Size: Byte; {liczba kolorów w palecie}

Colors: array[0.. MaxColors] of Shortint {kolory}

end;

rodzaju kre¶lonej linii

LineSettingsType = record

LineStyle: Word; {rodzaj linii}

Pattern: Word; {zdefiniowany wzór}

Thickness: Word {grubo¶æ (1 lub 3 punkty)}

end;

sposobu wyprowadzania tekstu

TextSettingsType = record

Font: Word; {numer kroju pisma}

Direction: Word; {kierunek}

CharSize: Word; {powiêkszenie pisma}

Horiz: Word; {poziome justowanie}

Vert: Word {pionowe justowanie}

end;

opisu wzoru stosowanego do wype³niania konturów

FilISettingsType = record

Pattem: Word; {numer wzoru}

Color: Word {kolor}

end;

wzoru wype³niania konturów

FilIPatternType = array[1..8] of Byte;

wspó³rzêdnych punktu

PointType = record

X, Y: Integer

end;

okna graficznego

ViewPortType = record

x1, y1, x2, y2: Integer; {wspó³rzêdne rogów okna}

Clip: Boolean {obcinanie na brzegach}

end;

wspó³rzêdnych ³ukowych

ArcCoordsType = record

X, Y: l nteger; {wspó³rzêd ne ¶ródka ³uku }

Xstart, Ystart: Integer; {wspó³rzêdne pocz±tku ³uku}

Xend, Yend: Integer {wspó³rzêdne koñca ³uku}

end;

GraphResult: Integer-funkcja

wynik: Warto¶æ równa zeru, je¶li ostatnia wykonana operacja graficzna by³a poprawna; warto¶æ ujemna - b³±d (patrz: Kody b³êdów).

GraphErrorMsg (Kod: Integer): string-funkcja

Kod - numer b³êdu

wynik: Komunikat dotycz±cy b³êdu o podanym numerze.

DetectGraph (var Ster, Tryb: Integer)-procedura

Ster - numer sterownika ekranu

Tryb - tryb graficzny sterownika

wynik: Sprawdzenie zainstalowanego sterownika ekranu.

GetDriverName: string-funkcja

wynik: Nazwa zainstalowanego sterownika ekranu.

GetMaxMode: Integer-funkcja

wynik: Najwiêkszy numer trybu graficznego zainstalowanego sterownika ekranu.

GetModeName (Tryb: Integer): string-funkcja

Tryb - numer trybu graficznego

wynik: Nazwa wyró¿nionego trybu graficznego zainstalowanego sterownika ekranu.

GetModeRange (Ster: Integer; var Nisryb, WysTryb: Integer)-procedura

Ster - numer sterownika ekranu

NisTryb - najmniejsza warto¶æ numeru trybu graficznego

WysTryb - najwiêksza warto¶æ numeru trybu graficznego

wynik: Najmniejszy i najwiêkszy numer trybu graficznego danego sterownika ekranu.

InitGraph (var Ster, Tryb: Integer; Dostêp: string)-procedura

Ster - numer sterownika ekranu

Tryb - numer trybu graficznego

Dostêp - ¶cie¿ka dostêpu do pliku dyskowego sterownika

wynik: Zainicjowanie modu³u Graph.

SetGraphMode (Tryb: Integer)-procedura

Tryb - numer trybu graficznego

wynik: Przej¶cie do zadanego trybu graficznego. Procedurê tê nale¿y wywo³aæ bezpo¶rednio po wywo³aniu InitGraph. W ten sposób mo¿na przej¶æ od trybu znakowego do graficznego lub zmieniæ standardowy tryb graficzny.

GetGraphMode: Integer-funkcja

wynik: Numer bie¿±cego trybu graficznego.

RestoreCRTMode-procedura

wynik: Prze³±czenie na tryb znakowy, do momentu wywo³ania procedury SetGraphMode.

CloseGraph-procedura

Wynik: Zakoñczenie trybu graficznego.

RegisterBGIFont (Znak: Pointer): Integer-funkcja

Znak - wska¼nik obszaru pamiêci zajmowanej przez wzorce pisma

wynik: Warto¶æ równa numerowi kroju pisma. Warto¶æ ujemna oznacza b³±d.

RegisterBGIDriver (Ster: Pointer): Integer-funkcja

Ster - wska¼nik obszaru pamiêci zajmowanej przez program sterownika ekranu

wynik: Warto¶æ równa numerowi zainstalowanego sterownika ekranu. Warto¶æ ujemna oznacza b³±d.

lnstallUserDriver (SterNaz: string; Wsk: Pointer): Integer-funkcja

SterNaz - nazwa niestandardowego sterownika ekranu

Wsk - zmienna typu wska¼nikowego (adres sterownika)

wynik: Zainstalowanie sterownika ekranu o nazwie Sternaz.

InstallUserFont (ZnNaz: string): Integer-funkcja

ZnNaz - nazwa pliku dyskowego, zawieraj±cego czcionki o niestandardowym kroju

wynik: Zainstalowanie niestandardowego kroju czcionek w pamiêci komputera. Zwrócony zostaje numer tego kroju. W przypadku wyst±pienia b³êdu - warto¶æ zero.

SetGraphBufSize (BufRoz: Word)-procedura

BufRoz - rozmiar bufora pamiêci

wynik: Zmiana standardowego rozmiaru bufora graficznego u¿ywanego przy wype³nianiu konturów (standardowo 4 KB).

GraphDefaults-procedura

wynik: Odtworzenie standardowych warto¶ci parametrów wszystkich operacji graficznych.

GetX: Integer-funkcja

wynik: Warto¶æ wspó³rzêdnej x pozycji kursora graficznego.

GetY: Integer-funkcja

wynik: Warto¶æ wspó³rzêdnej y pozycji kursora graficznego.

GetMaxX: Integer-funkcja

wynik: Najwiêksza warto¶æ wspó³rzêdnej x ekranu (wspó³rzêdna x prawego dolnego rogu).

GetMaxY: Integer-funkcja

wynik: Najwiêksza warto¶æ wspó³rzêdnej y ekranu (wspó³rzêdna y lewego górnego rogu).

ClearDevice-procedura

wynik: Oczyszczenie okna graficznego i przywrócenie wszystkich standardowych warto¶ci (definicje palet, linii itd.).

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

x1, y1 - wspó³rzêdne lewego górnego rogu okna

x2, y2 - wspó³rzêdne prawego dolnego rogu okna

Clip = True, je¶li rysunki maj± byæ obcinane do rozmiarów okna; w przeciwnym przypadku - False.

wynik: Uaktywnienie okna graficznego okre¶lonego przez wspó³rzêdne jego rogów i ustawienie kursora graficznego w punkcie (O, 0), czyli (x1, y1), w lewym górnym rogu

GetViewSettings (var Okno: ViewPortType)-procedura

Okno - rekord okna graficznego

wynik: Parametry bie¿±cego okna graficznego.

ClearViewPort-procedura wynik: Oczyszczenie bie¿±cego okna graficznego.

SetVisualPage (Strona: Word)-procedura

Strona - numer strony wy¶wietlanej przez sterownik

wynik: Zmiana strony graficznej na ekranie.

SetActivePage (Strona: Word)-procedura

Strona - numer strony graficznej, na której odbywa siê rysowanie.

wynik: Wykonywanie wszystkich operacji graficznych na stronie o podanym numerze.

PutPixel (x, y: Integer; Kol: Word)-procedura

x, y - wspó³rzêdne punktu

Kol - numer koloru

wynik: Wy¶wietlanie (rysowanie) w zadanym kolorze punktu o okre¶lonych wspó³rzêdnych.

GetPixel (x, y: Integer): Word-funkcja

x, y - wspó³rzêdne punktu

wynik: Numer koloru punktu o okre¶lonych wspó³rzêdnych. Warto¶æ zero oznacza kolor t³a.

SetWriteMode (Tryb: Integer)-procedura

Tryb - rodzaj operacji na bitach

wynik: Wybór rodzaju operacji na bitach pamiêci ekranu (patrz: Sta³e).

LineTo (x, y: Integer)-procedura

x, y - wspó³rzêdne punktu bêd±cego koñcem rysowanego odcinka

wynik: Rysowanie odcinka od pozycji kursora graficznego do punktu okre¶lonego wspó³rzêdnymi.

LineRel (dx, dy: Integer)-procedura

dx, dy - przesuniêcie we wspó³rzêdnych ekranu

wynik: Rysowanie odcinka od pozycji kursora graficznego do punktu odleg³ego od niego o dx w kierunku poziomym i dy w kierunku pionowym.

MoveTo (x, y: Integer)-procedura

x, y - wspó³rzêdne punktu okna

wynik: Przemieszczenie kursora graficznego do punktu o podanych wspó³rzêdnych (rysunek na ekranie nie ulega zmianie).

MoveRel (dx, dy: Integer)-procedura

dx, dy - przesuniêcie we wspó³rzêdnych ekranu

wynik: Przemieszczenie kursora graficznego do punktu odleg³ego od jego pozycji wyj¶ciowej o dx w kierunku poziomym i dy w kierunku pionowym.

Line (x1, y1, x2, y2: Integer)-procedura

x1, y1, x2, y2 - wspó³rzêdne pocz±tku i koñca odcinka

wynik: Rysowanie odcinka ³±cz±cego punkty o podanych wspó³rzêdnych.

GetLineSettings (Info: LineSettingsType)-procedura

Info - rekord kre¶lonych linii

wynik: Rekord okre¶laj±cy rodzaj rysowanej linii.

SetLineStyle (Rodz, Wzór, Grub: Word)-procedura

Rodz- rodzaj linii (0-4)

Wzór - wzór linii definiowanej przez u¿ytkownika

Grub - grubo¶æ rysowanej linii (1 lub 3)

wynik: Wybór linii do rysowania

Rectangle (x1, y1, x2, y2: Integer)-procedura

x1, y1 - wspó³rzêdne lewego górnego rogu

x2, y2 - wspó³rzêdne prawego dolnego rogu

wynik: Rysowanie prostok±ta, którego przeciwleg³e wierzcho³ki to punkty o podanych wspó³rzêdnych.

Bar (x1, y1, x2, y2: Integer)-procedura

x1, y1 - wspó³rzêdne lewego górnego rogu

x2, y2 - wspó³rzêdne prawego dolnego rogu

wynik: Wype³nianie prostok±ta, którego przeciwleg³e wierzcho³ki maj± zadane wspó³rzêdne. Kontury prostok±ta nie s± rysowane.

Bar3D (x1, y1. x2, y2: Integer; G³, Szczyt: Boolean)-procedura x1, y1 - wspó³rzêdne lewego górnego rogu przedniej ¶ciany prostopad³o¶cianu

x2, y2 - wspó³rzêdne prawego dolnego rogu przedniej ¶ciany prostopad³o¶cianu

G³ - d³ugo¶æ prostopad³o¶cianu (g³êboko¶æ rzutu)

Szczyt = True oznacza, ¿e górna ¶ciana prostopad³o¶cianu nie bêdzie rysowana

wynik: Rysowanie prostopad³o¶cianu, którego przednia ¶ciana jest okre¶lona wspó³rzêdnymi przeciwleg³ych rogów. G³êboko¶æ rzutu jest liczona w punktach ekranu. Ostatni parametr okre¶la, czy górna ¶ciana prostopad³o¶cianu ma byæ widoczna czy te¿ nie.

DrawPoly (IIPkt: Word; var TabPkt)-procedura

IIPkt - liczba punktów wyznaczaj±cych ³aman±

TabPkt - tablica rekordów wspó³rzêdnych punktów

wynik: Rysowanie ³amanej okre¶lonej przez kolejne punkty o podanych wspó³rzêdnych.

FilIPoly (lIPkt: Word; var TabPkt)-procedura

IIPkt - liczba wierzcho³ków wieloboku

TabPkt - tablica rekordów wspó³rzêdnych wierzcho³ków

wynik: Rysowanie wieloboku okre¶lonego przez kolejne punkty o podanych wspó³rzêdnych i wype³nienie go wzorem do wype³niania konturów.

GetFillSettings (var Wypinfo: FilISettingsType)-procedura

Wypinfo - rekord opisu wzoru stosowanego do wype³niania konturów

wynik: Rekord okre¶laj±cy u¿ywany wzór wype³niania konturów (wzór i kolor).

GetFillPattern (var Wyp: FilIPatternType)-procedura

Wyp - rekord wzoru wype³niania konturów

wynik: Bie¿±cy, zdefiniowany przez u¿ytkownika, wzór wype³niania konturów.

SetFillStyle (Num, Kol: Word)-procedura

Num - numer wzoru (patrz: Sta³e)

Kol - numer koloru (patrz: Sta³e)

wynik: Wybór danego wzoru i koloru do wype³niania konturów.

SetFillPattern (Wyp: FilIPatternType; Kol: Word)-procedura

Wyp - tablica wzoru wype³niania konturów

Kol - numer koloru (patrz: Sta³e)

wynik: Zdefiniowanie wzoru wype³niania konturów wg wymagañ u¿ytkownika. Wzór jest zdefiniowany w zmiennej typu FilIPatternType, bêd±cej o¶mioelementow± tablic± typu Byte. Ka¿dy z elementów tablicy, zapisany w postaci dwójkowej, okre¶la istnienie b±d¼ brak ¶wiec±cego punktu na ekranie. Cyfra 1 odpowiada punktowi ¶wiec±cemu, O - wygaszonemu.

FloodFill (x, y: Integer; Ob: Word)-procedura

x, y - wspó³rzêdne punktu znajduj±cego siê w danym obszarze

Ob - numer koloru konturu

wynik: Wype³nienie (bie¿±cym wzorem) obszaru zawieraj±cego punkt o podanych wspó³rzêdnych i ograniczenie go konturem w podanym kolorze.

Arc xy, y: Integer; AlfaP, AlfaK, r: Word)-procedura

x, y - wspó³rzêdne ¶rodka ³uku okrêgu

AlfaP, AlfaK - k±ty (wierzcho³ek w punkcie (x, y)) okre¶laj±ce pocz±tek i koniec ³uku (w stopniach)

r - promieñ ³uku

wynik: Rysowanie ³uku okrêgu o ¶rodku w punkcie o podanych wspó³rzêdnych i promieniu r, wyznaczonego przez zadane k±ty.

GetArcCoords (var Info: ArcCoordsType)-procedura

Info - rekord wspó³rzêdnych ³ukowych

wynik: Wspó³rzêdne ³uku narysowanego w wyniku ostatniego wywo³ania procedury Arc (¶rodek, pocz±tek, koniec).

Circle (x, y: Integer; r: Word)-procedura

x, y - wspó³rzêdne ¶rodka okrêgu

r - promieñ okrêgu

wynik: Rysowanie okrêgu o ¶rodku w punkcie o podanych wspó³rzêdnych i danym promieniu.

Ellipse (x, y: tnteger; AlfaP, AlfaK, xr, yr: Word)-procedura

x, y - wspó³rzêdne ¶rodka ³uku elipsy

AlfaP, AlfaK - k±ty (wierzcho³ek w punkcie (x, y)) okre¶laj±ce pocz±tek i koniec ³uku (w stopniach)

xr, yr - po³ówki d³ugo¶ci osi wielkiej i ma³ej

wynik: Rysowanie ³uku elipsy o ¶rodku w punkcie o podanych wspó³rzêdnych i po³ówkach osi xr i yr, wyznaczonego przez podane k±ty.

FillEllipse (x, y: Integer; xr, yr: Word)-procedura

x, y - wspó³rzêdne ¶rodka elipsy

xr, yr- po³ówki d³ugo¶ci osi wielkiej i ma³ej

wynik: Rysowanie wype³nionej elipsy o zadanym ¶rodku i po³ówkach osi.

GetAspectRatio (var Xasp, Yasp: Word)-procedura

Xasp, Yasp - rozdzielczo¶æ ekranu w kierunku x i y

wynik: Bie¿±ca rozdzielczo¶æ ekranu.

SetAspectRatio (Xasp, Yasp: Word)-procedura

Xasp, Yasp - rozdzielczo¶æ ekranu w kierunku x i y

wynik: Zmiana rozdzielczo¶ci ekranu w kierunku poziomym i pionowym.

PieSlice (x, y: Integer; AlfaP, AlfaK, r: Word)-procedura

x, y - wspó³rzêdne ¶rodka ³uku okrêgu

AlfaP, AlfaK - k±ty (wierzcho³ek w punkcie (x, y)) okre¶laj±ce pocz±tek i koniec ³uku (w stopniach)

r - promieñ ³uku

wynik: Rysowanie i wype³nianie wycinka ko³a o ¶rodku w danym punkcie i promieniu r, wyznaczonym przez zadane k±ty (patrz: Arc).

Sector (x, y: Integer; AlfaP, AlfaK, xr, yr: Word)-procedura

x, y - wspó³rzêdne ¶rodka ³uku elipsy

AlfaP, AlfaK - k±ty (wierzcho³ek w punkcie (x, y)) okre¶laj±ce pocz±tek i koniec ³uku (w stopniach)

xr, yr - po³ówki d³ugo¶ci wielkiej i ma³ej osi elipsy

wynik: Rysowanie wype³nionego wycinka elipsy o ¶rodku w danym punkcie i danych po³ówkach osi, wyznaczonego przez zadane k±ty.

SetBkColor (Kol: Word)-procedura

Kol - numer koloru t³a

wynik: Zmiana bie¿±cego numeru koloru t³a na zapamiêtany pod numerem kol.

SetColor (Kol: Word)-procedura

Kol - numer koloru kursora graficznego

wynik: Zmiana bie¿±cego numeru koloru kursora graficznego na zapamiêtany pod numerem kol.

GetBkColor: Word-funkcja

wynik: Numer bie¿±cego koloru t³a.

GetColor: Word-funkcja

wynik: Numer bie¿±cego koloru kursora graficznego.

SetAllPalette (var Paleta: PaletteType)-procedura

Paleta - tablica kolorów w palecie

wynik: Zmiana kolorów w palecie wed³ug tablicy (liczba i kolejno¶æ kolorów).

SetPalette (KolNum: word; Kol: Shortint)-procedura

KolNum - pozycja koloru w palecie

Kol - numer koloru

wynik: Zmiana koloru na danej pozycji w palecie na kolor o numerze kol.

GetPalette (var Paleta: PaletteType)-procedura

Paleta - tablica kolorów w palecie

wynik: Stosowana paleta kolorów.

GetPaletteSize: Integer-funkcja

wynik: Liczba kolorów bie¿±cej palety.

GetDefaultPalette(var Palette: PaletteType)-procedura

wynik: Dane dotycz±ce standardowej palety kolorów.

GetMaxColor: Word-funkcja

wynik: Najwiêkszy numer koloru dostêpny w danym trybie graficznym.

SetRGBPalette (KNum, Czer, Ziel, Nieb: Integer)-procedura

KNum - pozycja koloru w palecie sterownika IBM8514

Czer, Ziel, Nieb - sk³adowe: czerwona, zielona i niebieska danego koloru

wynik: Zmiana koloru w palecie sterownika IBM9514 na kolor okre¶lony ³±cznie przez Czer, Ziel, Nieb.

ImageSize (x1, y1, x2, y2: Integer): Word-funkcja

x1, y1 - wspó³rzêdne lewego górnego rogu prostok±tnego obszaru ekranu

x2, y2 - wspó³rzêdne prawego dolnego rogu prostok±tnego obszaru ekranu

wynik: Liczba bajtów potrzebnych do przechowania obrazu znajduj±cego siê w obszarze okre¶lonym danymi wspó³rzêdnymi

. Getlmage(x1, y1, x2, y2: Integer; var Mapa)-procedura

x1, y1 - wspó³rzêdne lewego górnego rogu prostok±tnego obszaru ekranu

x2, y2 - wspó³rzêdne prawego dolnego rogu prostok±tnego obszaru ekranu

Mapa - dowolna zmienna

wynik: Przekazanie do komórek pamiêci, zajmowanych przez warto¶æ zmiennej mapa, obrazu znajduj±cego siê w obszarze okre¶lonym danymi wspó³rzêdnymi.

Putlmage (x, y: Integer; var Mapa; Tryb: Word)-procedura

x, y - wspó³rzêdne lewego górnego rogu prostok±tnego obszaru ekranu

Mapa - dowolna zmienna

Tryb - rodzaj operacji na bitach pamiêci ekranu

wynik: Przekazanie na ekran obrazu zapamiêtanego za pomoc± Getlmage (lewy górny róg ekranu bêdzie siê pokrywa³ z zadanym punktem). Obraz zostanie odtworzony w sposób okre¶lony przez parametr tryb.

SetTextJustify (Hor, Ver: Word)-procedura

Hor, Ver - po³o¿enie tekstu w kierunku poziomym i pionowym, wzglêdem pozycji kursora graficznego

wynik: Ustalenie sposobu wyrównywania tekstu w poziomie (na podstawie Hor} i w pionie (na podstawie Ver).

SetTextStyle (Znak, Kier, Roz: Word)-procedura

Znak - numer kroju pisma

Kier - kierunek wyprowadzania tekstu

Roz - rozmiar znaków

wynik: Tekst wyprowadzony zgodnie z zadanymi parametrami.

GetTextSettings (var Info: TextSettingsType)-procedura

Info - rekord sposobu wyprowadzania tekstu

wynik: Rekord z bie¿±cymi parametrami okre¶laj±cymi krój pisma i sposób wyprowadzania tekstu.

OutText(Tekst: string)-procedura

Tekst - ci±g znaków (napis)

wynik: Rysowanie danego ci±gu znaków w sposób okre¶lony za pomoc± procedury SetTextJustify.

OutTextXY (x, y: Integer; Tekst: string)-procedura

x, y - wspó³rzêdne punktu, wzglêdem którego odbywa siê justowanie

Tekst - ci±g znaków (napis)

wynik: Rysowanie danego ci±gu znaków z uwzglêdnieniem justowania wzglêdem punktu (x, y).

SetUserCharSize (MultX, DivX, MultY, DivY: Word)-procedura

MultX, DivX - licznik i mianownik wspó³czynnika zmiany szeroko¶ci znaku (MultX/DivX)

MultY, DA/Y - licznik i mianownik wspó³czynnika zmiany wysoko¶ci znaku (MultY/DivY)

wynik: Zmiana szeroko¶ci i wysoko¶ci znaków w stosunku do przyjmowanych w procedurze SetTextStyle.

TextHeight (Tekst: string): Word-funkcja

Tekst - ci±g znaków (napis)

wynik: Wysoko¶æ wyprowadzanego ci±gu znaków, podana w punktach ekranu, z uwzglêdnieniem bie¿±cego sposobu wyprowadzania tekstów.

TextWidth (Tekst: string): Word-funkcja

Tekst - ci±g znaków (napis)

wynik: Szeroko¶æ wyprowadzanego ci±gu znaków, podana w punktach ekranu, z uwzglêdnieniem bie¿±cego sposobu wyprowadzania tekstów.


Adam Æwik³a
NEWSLETTER
Chcesz byæ zawsze na bie¿±co?
Zapisz siê!
WP.PL
LITERATURA
INNE [?]
Katalog WWW
Sponsor
On-Line: 5
stat4u
Wszystkie prawa zastrze¿one © 2001-2002 Programik.com