|
uses graph;
uvádím jen stručný přehled
některých procedur jednotky graph, úplný přehled viz. help
Turbo Pascalu...
Arc (procedura) (jednotka Graph)
Kreslí kruhový oblouk od počátečního úhlu ke koncovému úhlu.
Deklarace
procedure Arc (X,Y; Integer; StAngle, EndAngle, Radius; Word);
Poznámky
Arc kreslí oblouk kolem středu (X,Y) s poloměrem Radius. Oblouk začíná v úhlu StAngle a končí v úhlu EndAngle, kreslí se aktuální barvou.
{Arc.PAS}
{Vzorový příklad pro proceduru Arc .}
uses Graph;
var
Gd, Gm: Integer;
Radius: Integer;
begin
Gd := Detect;
InitGraph(Gd, Gm,' ');
if GraphResult <> grOk then
Halt(1);
for Radius := 1 to 5 do
Arc(100, 100, 0, 90, Radius * 10);
Readln;
CloseGraph;
end.
Bar (procedura) (jednotka Graph)
Nakreslí sloupec použitím aktuálního stylu vyplňování a barvy.
Deklarace
procedure Bar(x1, y1, x2, y2: Integer);
Poznámky
Bar nakreslí vyplněný obdélník (používaný např. pro tvorbu sloupcových diagramů). Používá vzorek a barvu definované pomocí SetFillStyle nebo SetFillPattern. Pokud chcete nakreslit sloupec s orámovaným obrysem, zavolejte proceduru Bar3D s nulovou hloubkou.
{Bar.PAS}
{Vzorový příklad pro proceduru Bar .}
uses
Graph;
var
Gd, Gm, I, Width: Integer;
begin
Gd := Detect; InitGraph(Gd, Gm,' ');
if GraphResult <> grOk then Halt(1);
Width := 10;
for I := 1 to 5 do
Bar(I*Width, I*10, Succ(I)*Width, 200);
ReadLn;
CloseGraph;
end.
Circle (procedura) (jednotka Graph)
Nakreslí kruh, přičemž jako střed použije (X, Y).
Deklarace
procedure Circle(X,Y: Integer; Radius: Word);
Poznámky
Kruh je kreslen v aktuální barvě, nastavené procedurou SetColor. Každý grafický řídící program (driver) obsahuje korekční poměr (aspect ratio), používaný procedurami Circle, Arc a PieSlice.
{Circle.PAS}
{Vzorový příklad pro proceduru Circle.}
uses Graph;
var
Gd, Gm: Integer;
Radius: Integer;
begin
Gd := Detect;
InitGraph(Gd, Gm, ' ');
if GraphResult <> grOk then
Halt(1);
for Radius := 1 to 5 do
Circle(100, 100, Radius * 10);
Readln;
CloseGraph;
end.
Ellipse (procedura) (jednotka Graph)
Nakreslí eliptický oblouk.
Deklarace
procedure Ellipse(X, Y: Integer; StAngle, EndAngle: Word; XRadius, YRadius: Word);
Poznámky
Nakreslí eliptický oblouk od počátečního úhlu StAngle ke koncovému úhlu EndAngle, přičemž jako střed použije (X, Y). XRadius a YRadius použije jako vodorovnou a svislou osu.
{Ellipse.PAS}
{Vzorový příklad pro proceduru Ellipse.}
uses Graph;
var Gd, Gm: Integer;
begin
Gd := Detect;
InitGraph(Gd, Gm, ' ');
if GraphResult <> grOk then
Halt(1);
Ellipse(100, 100, 0, 360, 30, 50);
Ellipse(100, 100, 0, 180, 50, 30);
Readln;
CloseGraph;
end.
Line (procedura) (jednotka Graph)
Nakreslí čáru z (X1, Y1) do (X2, Y2).
Deklarace
procedure Line(x1, y1, x2, y2: Integer);
Poznámky
Nakreslí čáru ve stylu a tloušťce, definované procedurou SetLineStyle, a použije barvu, nastavenou pomocí SetColor. Procedurou SetWriteMode můžete určit, zda se čára na obrazovku zkopíruje nebo nakreslí operací XOR.
Pamatujte, že
MoveTo(100, 100);
LineTo(200, 200);
je ekvivalentní s
Line(100, 100, 200, 200);
MoveTo(200, 200);
Použijte proceduru LineTo, když ukazatel pozice (CP) je na jednom konci budoucí čáry. Pokud chcete mít při nakreslení čáry automaticky aktualizovanou pozici CP, použijte LineRel pro kreslení úsečky do bodu daného relativními souřadnicovými rozdíly vůči CP. Line neaktualizuje CP.
{Line.PAS}
{Vzorový příklad pro proceduru Line.}
uses Crt, Graph;
var Gd, Gm: Integer;
begin
Gd := Detect;
InitGraph(Gd, Gm, ' ');
if GraphResult <> grOk then
Halt(1);
Randomize;
repeat
Line(Random(200), Random(200), Random(200), Random(200));
until KeyPressed;
Readln;
CloseGraph;
end.
SetColor (procedura) (jednotka Graph)
Nastaví aktuální kreslící barvu pomocí palety.
Deklarace
procedure SetColor(Color: Word);
Poznámky
SetColor(5) nastaví jako aktuální pátou barvu v paletě. Kreslící barvy nabývají hodnot od 0 do 15, v závislosti na aktuálním grafickém adaptéru a aktuálním grafickém režimu.
Nejvyšší platné číslo barvy pro aktuální driver a režim vrací funkce GetMaxColor.
{Getmxcol.PAS}
{Vzorový příklad pro funkce GetMaxColor a SetColor.}
uses
Crt, Graph;
var
GraphDriver, GraphMode : Integer;
begin
GraphDriver := Detect;
InitGraph(GraphDriver, GraphMode, ' ');
if GraphResult <> grOk then Halt(1);
Randomize;
repeat
SetColor(Random(GetMaxColor)+1);
LineTo(Random(GetMaxX),
Random(GetMaxY));
until KeyPressed;
end.
PutPixel (procedura) (jednotka Graph)
Nakreslí bod na souřadnicích X, Y.
Deklarace
procedure PutPixel(X, Y: Integer; Pixel: Word);
Poznámky
Nakreslí bod v barvě, definované parametrem Pixel, v (X, Y).
{PutPixel.PAS}
{Vzorový příklad pro proceduru PutPixel.}
uses Crt, Graph;
var
Gd, Gm: Integer;
Color: Word;
begin
Gd := Detect;
InitGraph(Gd, Gm, ' ');
if GraphResult <> grOk then
Halt(1);
Color := GetMaxColor;
Randomize;
repeat
PutPixel(Random(100), Random(100), Color); { Vykreslí "hvězdy" }
Delay(10);
until KeyPressed;
Readln;
CloseGraph;
end.
SetTextStyle (procedura) (jednotka Graph)
Nastaví styl pro výstup textu v grafickém režimu.
Deklarace
procedure SetTextStyle(Font, Direction: Word; CharSize: Word);
Poznámky
Nastaví aktuální textový font, styl a činitel zvětšování znaků.
{Settxtst.PAS}
Styly textu - konstanty
Tyto konstanty mají vliv na procedury SetTextStyle a GetTextSettings.
Konstanta Hodnota
Význam
DefaultFont 0
8x8 bitově mapovaný font
TriplexFont 1
Vektorový font
SmallFont 2
Vektorový font
SansSerifFont 3
Vektorový font
GothicFont 4
Vektorový font
HorizDir 0
Zleva doprava
VertDir
1
Zespoda nahoru
UserCharSize 0
Uživatelem definovaná velikost znaků
{Vzorový příklad pro proceduru SetTextStyle.}
uses Graph;
var
Gd, Gm: Integer;
Y, Size: Integer;
begin
Gd := Detect;
InitGraph(Gd, Gm, ' ');
if GraphResult <> grOk then
Halt(1);
Y := 0;
for Size := 1 to 4 do
begin
SetTextStyle(DefaultFont, HorizDir, Size);
OutTextXY(0, Y, 'Size = ' + Chr(Size + 48));
Inc(Y, TextHeight('H') + 1);
end;
Readln;
CloseGraph;
end.
© 2001 Milan Volejník, http://hledej.to.zde.cz
aktualizace: 17.09.2002 17:25:34
Powered by Notepad editor.
Copyright © 2001 by !!!Protiproud!!! All rights reserved.
Revised: 17 IX 2002 17:49:11 +0200
.
|