Hilfe

Graphics

B2D B+ B3D

Aufruf

Graphics breite, höhe [, tiefe] [, modus]

Parameter

breite Breite der Auflösung in Pixel
höhe Höhe der Auflösung in Pixel
tiefe Farbtiefe (0=auto, 16, 24 oder 32 Bit)
modus 0 - automatisch (Fenstermodus bei Debug, sonst Vollbild)
1 - Vollbildmodus
2 - Fenstermodus
3 - BB und B3D: Fenstermodus (skalierbar)
3 - B+: Vollbildmodus (BufferCopy statt BufferFlip, siehe Beschreibung)
6 - Gleicher Modus wie 2 aber mit Auto-Suspend (empfohlen) Nur mit Blitz3D verfügbar!
7 - Gleicher Modus wie 3 aber mit Auto-Suspend (empfohlen) Nur mit Blitz3D verfügbar!


Rückgabewert

-


Beschreibung

Graphics ist der wichtigste Grafikbefehl überhaupt. Dieser Befehl öffnet ein Grafikfenster oder ändert die Größe des Fensters (Breite, Höhe und Farbtiefe). Die Farbtiefe ist optional und kann weggelassen werden - dann wählt BlitzBasic automatisch die passende Farbtiefe aus. Das Benutzen des Graphics-Befehls setzt Color, ClsColor und aktive Grafikbuffer auf die Standardwerte zurück.

Die Breite und Höhe der Auflösung hängt im Vollbildmodus von der verwendeten Grafikkarte und dem Monitor ab. Problemlos sind die Auflösungen 800x600 und 1024x768. Aber solche Auflösungen wie 640x400 usw. werden nicht von allen Grafikkarten unterstützt!


Mit der größeren Auflösung steigt auch die Berechnungszeit, sowie der Speicherbedarf. Zudem kann es dadurch häufiger zu "Dropped-Frames" kommen (ausgelassene Bilder einer Animation bei Doublebuffering).


Wird ein Grafikfenster nicht im Vollbild angezeigt, so übernimmt Windows das Pageflipping der Grafik von BackBuffer (siehe Flip).


Unter BlitzPlus hat der Modus 3 eine andere Bedeutung! Im Normalfall werden Back- und FrontBuffer beim Aufrufen des Befehls Flip vertauscht. Wurde das Grafikfenster mit Modus 3 erstellt, so wird der Back- in den FrontBuffer hineinkopiert. Dadurch bleibt der Inhalt des BackBuffers erhalten. Möchte man ein skalierbares Fenster realisieren, muss man auf CreateCanvas zurückgreifen.


Zusatzinformation

Alle Computerbildschirme haben den Koordinatennullpunkt oben/links. Dies ist etwas anders als beim kartesischen System - die Y-Achse ist gespiegelt.


Die beste Farbtiefe ist 24 Bit mit 16,7 Mio. Farben. Leider wird diese Farbtiefe nicht von allen Grafikkarten unterstützt. Die zweitbeste Farbtiefe ist 32 Bit. Diese Farbtiefe wird von mehr Grafikkarten unterstützt, dafür steigt aber der Speicherbedarf sehr stark an. Die 16 Bit-Farbtiefe kann zwar "nur" 65536 Farben anzeigen, dafür ist es aber am schnellsten und verbraucht am wenigsten Speicher.


Je größer die Auflösung, desto feiner wirkt die Grafik und desto langsamer erfolgt die Grafikausgabe. Mit der größeren Auflösung steigt auch die Berechnungszeit sowie der Speicherbedarf. Zudem kann es dadurch häufiger zu "Dropped-Frames" kommen.


Da bei einer 2D Ausgabe von Blitzbasic die Grafikkarte keine aktuelle 3D Beschleunigung nutzen kann (DirectX7/DirectDraw), ist das im Vergleich zu "echtem" 3D sehr langsam. Fortgeschrittene können auch mit 3D Befehlen eine sehr viel schnellere 2D Welt erschaffen. Blitzmax z.B. nutzt von sich aus 3D Unterstützung um 2D anzuzeigen.


Beispiel

Dieses Programm wählt eine 640x480er Auflösung im Vollbild. Danach wird eine Linie eingezeichnet:

Graphics 640,480,0,1
Line 0,0,639,479
WaitKey()
End


Siehe auch

AppTitle, AvailVidMem, EndGraphics, GraphicsLost, TotalVidMem, Viewport

Übersicht 2D Grafik Anzeige