Wstęp do grafiki.



Procedury inicjujące i zamykające tryb graficzny :


Tryb graficzny jest ściśle związany ze sprzętem komputerowym, a dokładniej z kartą graficzną, w jaką wyposażony jest komputer. W systemie Turbo Pascal do obsługi różnych kart graficznych zainstalowane są sterowniki. Podczas inicjowania trybu graficznego należy określić właściwy dla danego sprzętu sterownik i tryb pracy ekranu.


DetectGraph (Karta, Tryb)
Procedura DetectGraph służy do sprawdzenia sprzętu komputerowego i określenia właściwego dla niego sterownika karty graficznej. Oba argumenty wywołania tej procedury muszą być zmiennymi typu Integer. W wyniku wywołania procedury zmiennej Karta zostanie przypisana wartość określająca kartę graficzną zainstalowaną w zestawie komputerowym, natomiast zmiennej Tryb - wartość określająca tryb graficzny wysokiej rozdzielczości.


InitGraph (Karta, Tryb, 'Ścieżka')

Procedura InitGraph inicjuje tryb graficzny. Parametry Karta i Tryb odpowiadają zainstalowanej w komputerze karcie graficznej a parametr Ścieżka to katalog w którym znajduje się sterownik do danej karty ( sterownik dostarczony z kompilatorem języka ).


CloseGraph
Pracę w trybie graficznym kończy bezparametrowa procedura CloseGraph. Powoduje ona usunięcie sterownika z pamięci operacyjnej i powrót ekranu do trybu sprzed zainicjowania trybu graficznego.



Przykład :

PROGRAM Tryb_Graficzny;

USES Crt, Graph;

VAR Karta, Tryb : Integer;
    Zn          : Char;
   
BEGIN
  ClrScr;
  WriteLn('Jestes w trybie Tekstowym !');
  Zn:=ReadKey;
  DetectGraph(Karta, Tryb);
  InitGraph(Karta, Tryb, 'c:/tp/bgi'); 
  OutText('A teraz w trybie Graficznym !');
  Zn:=ReadKey;
  CloseGraph;
  WriteLn('I znowu w trybie Tekstowym !');
  Zn:=ReadKey;    
END.





Po zainicjowaniu trybu graficznego wskaźnik ekranu (niewidoczny odpowiednik migającego kursora z trybu tekstowego) znajduje się w punkcie o współrzędnych (0,0), to jest lewym górnym narożniku ekranu. Pozioma oś współrzędnych ekranowych skierowana jest w prawo a pionowa w dół.


Funkcje i procedury pomocnicze :


GraphResult
W trakcie wykonywania operacji graficznych mogą wystąpić różnego rodzaju błędy. Są one sygnalizowane odpowiednią wartością bezparametrowej funkcji GraphResult. Wartość tej funkcji, będąca liczbą całkowitą z przedziału od -14 do 0, określa stan ostatniej wykonywanej operacji graficznej, przy czym wartość 0 oznacza, że operacja ta przebiegła pomyślnie. Poprzez badanie wartości funkcji GraphResult można zaprogramować dalsze działanie programu po wystąpieniu błędu. Należy przy tym pamiętać, że po wywołaniu funkcji system przypisuje jej wartość 0. Do przechowania wartości funkcji konieczne może zatem okazać się zastosowanie pomocniczej zmiennej.


GraphErrorMsg (kod-błędu)
Pomocniczą rolę w obsłudze błędów spełnia funkcja GraphErrorMsg, której wartością jest łańcuch znaków zawierający tekst komunikatu o błędzie dla wyspecyfikowanego kodu_błędu, który jest wielkością typu Integer.


RestoreCrtMode
W trakcie pracy w trybie graficznym można przejść do trybu tekstowego, wykonać w tym trybie określone operacje, po czym powrócić do trybu graficznego, bez potrzeby ponownego jego inicjowania. Wywołanie bezparametrowej procedury RestoreCrtMode powoduje powrót ekranu do trybu obowiązującego przed zainicjowaniem trybu graficznego. Nie będzie jednak na nim tego, co zostawiliśmy przechodząc do trybu graficznego.


SetGraphMode (tryb)
SetGraphMode przestawia system na wyspecyfikowany tryb graficzny z jednoczesnym oczyszczeniem zawartości ekranu. Tryb oznacza w ogólności dowolne wyrażenie typu Integer (najczęściej specyfikuje się tu jedną ze stałych trybów graficznych ekranu). Dla wszystkich parametrów graficznych zostaną przy tym przyjęte ich wartości standardowe. Jeśli w wywołaniu procedury SetGraphMode zostanie dla obowiązującego (bieżącego) sterownika wyspecyfikowany błędny tryb pracy ekranu, wartością funkcji GraphResult będzie -10. Procedura SetGraphMode może być także używana do zmiany trybów graficznych pracy ekranu, niezależnie od procedury RestoreCrtHode.


SetGraphMode
Informację o aktualnie obowiązującym graficznym trybie pracy ekranu, ustalonym za pomocą procedury InitGraph lub SetGraphHode, uzyskuje się poprzez wywołanie bezparametrowej funkcji GetGraphMode, zwracającej wielkość typu Integer. Funkcje i procedury graficzne modułu Graph.


GetDriverName
Nazwę bieżącego sterownika karty graficznej bezparametrowej funkcji GetDriverName. Wartość można otrzymać przez wywołanie tej funkcji jest typu string.


GetModeName
Nazwę aktualnie wykorzystywanego trybu graficznego wywołanie bezparametrowej funkcji GetModeName, której poprzednio omawianej, jest typu string. można uzyskać przez wywołanie bezparametrowej funkcji GetModeName, której wartość, tak jak dla poprzednio omawianej, jest typu string.


ClearDevice
Po zainicjowaniu trybu graficznego dostępna jest cała powierzchnia ekranu. Jego zawartość może być w dowolnym miejscu programu oczyszczona poprzez wywołanie bezparametrowej procedury ClearDevice, która powoduje ponadto przypisanie wszystkim parametrom graficznym ich standardowych wartości.