BlitzBasic: Graphics

Aus Wikibooks

Syntax[Bearbeiten]

Graphics Breite%,Höhe%,Tiefe%,Modus%

Parameter[Bearbeiten]

Breite% erforderlich Höhe des Bereichs für Grafikausgaben. Die Höhe des aktuellen Graphics-Fensters kann mit GraphicsWidth() ermittelt werden.
Höhe% erforderlich Höhe des Bereichs für Grafikausgaben. Die Höhe des aktuellen Graphics-Fensters kann mit GraphicsHeight() ermittelt werden.
Tiefe% optional Farbtiefe des Bereichs für Grafikausgaben (default=0). Durch Tiefe=0 (oder auslassen des Parameters) wird die Farbtiefe des Desktop verwendet. Im Fenster-Modus wird der Parameter Tiefe immer ignoriert und die Farbtiefe des aktuellen Screen (meistens Desktop) verwendet. (Die Farbtiefe des aktuellen Graphics-Fensters kann mit GraphicsDepth() ermittelt werden)
Modus% optional Graphics-Modus (default=0)

Rückgabe[Bearbeiten]

keine

Beschreibung[Bearbeiten]

Mit der Anweisung Graphics wird der maximale Bereich bestimmt, in dem Blitzbasic 2D-Ausgaben machen kann. (für 3D-Ausgaben siehe Graphics3D) Durch den Modus kann festgelegt werden, ob BlitzBasic dazu den Fenster-Modus oder den Fullscreen-Modus verwendet. Folgende Werte sind für Modus zulässig:

0 automatisch wenn im Menü „Program“ der Debug-Modus eingeschaltet ist, wird ein Fenstermodus verwendet, andernfalls Fullscreen
1 Fullscreen es wird versucht, mit den Abmessungen einen Screen zu öffnen (Hinweise zu Fullscreen beachten)
2 Fenster Das Fenster kann nicht in der Größe verändert werden.
3 scalierbares Fenster Das Fenster kann vom Anwender, aber nicht durch das Programm in der Größe verändert werden.

Hinweise[Bearbeiten]

  • Graphics sollte immer am Progammanfang stehen, das locale Variablen durch Graphics gelöscht werden
  • Vor Verwendung von Graphics sollte man EndGraphics aufrufen, um ein eventuell vorhandenes Graphics-Fenster zu schließen.
  • 'Graphics' ist kein reserviertes Keyword, es ist daher möglich, eine eigene Funktion mit dem Namen 'Graphics' zu erstellen. Jedoch ist das nicht sinnvoll, da dadurch die Graphics-Anweisung nicht mehr aufgerufen werden kann. (trotzdem ist es sinnvoll zu wissen, das dies möglich ist. Denn wenn in einem Programm Graphics nicht funktioniert, ohne das man eine Fehlermeldung erhält, kann es sein das eine eigene Funktion oder Variable den Namen „Graphics“ hat)

Hinweise zum Fenstermodus[Bearbeiten]

  • Die Farbtiefe des aktuellen Screen (meistens Desktop) kann mit Graphics im Fenster-Modus nicht verändert werden.
  • Im Modus 3 (scalierbares Fenster) erhält man keine Mitteilung, wenn ein Anwender die Fenstergröße ändert. Auch ist es nicht möglich, eine maximale - oder minimale Fenstergröße zu bestimmen.

Hinweise zum Fullscreen[Bearbeiten]

  • Vor der Verwendung des Fullscreen-Modus sollte ermittelt werden, ob ein Screen mit den gewünschten Abmessungen überhaupt von der Grafikkarte des Anwenders dargestellt werden kann. Ein Programm, das im Fullscreen laufen soll, sollte möglichst mehrere Abmessungen ermöglichen und immer auch einen Fenster-Modus als Alternative anbieten.
  • Alternativ zur Darstellung mit verschiedenen Abmessungen können die Desktop-Abmessungen des Anwenders verwendet werden. BlitzPlus bietet hier die Möglichkeit, mit ClientWidth(Desktop()) und ClientHeight(Desktop()) die Desktop-Abmessungen direkt abzufragen, das ist bei Blitz3D leider nicht möglich. Aber sowohl in Blitz3D als auch in BlitzPlus ist es möglich, mit Graphics 0,0,0,1 einen Screen mit Desktop-Abmessungen zu erstellen. (Diese Anwendungsform der Graphics-Anweisung ist undokumentiert und daher weitgehend unbekannt, funktioniert aber einwandfrei) Danach können mit GraphicsWidth(), GraphicsHeight() und GraphicsDepth() die Breite, Höhe und Farbtiefe des Screen (und somit auch des Desktop) ausgelesen werden.