Temat: Grafika w Turbo Pascal’u
1. Inicjalizacja trybu graficznego 2. Operacje trybu graficznego 3. Zamknięcie trybu graficznego Ad. 1 InitGraph (Sterownik: Integer, Tryb: Integer, Ścieżka: String); sterownik – identyfikator karty sterownika graficznego; tryb – tryb graficzny (rozdzielczość, ilość kolorów); ścieżka – katalog, w którym znajduje się sterownik *.bgi inicjalizuje tryb graficzny Detect/0; wykrywa kartę graficzną GraphResult: Integer; wynik zainicjowania trybu graficznego (jeśli jest grOk, to w porządku) Ad. 2 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); rysuje 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 Ad. 3 CloseGraph; zamyka tryb graficzny (powrót do trybu tekstowego)
Początek formularza
Dół formularza
artemisja2