Satyria

Auf den Bildschirm zeichnen

Eine kleine Info: Das Zeichnen mit SDL kann auch direkt in SDL2 erfolgen. Dies würde laut Literatur auch Performance bringen. Hier in dieser Beschreibung verzichte ich allerdings darauf. Ich verwende dazu die Funktionen aus der SDL_gfx Libary.

Die SDL_gfx Libary bietet hier einige Funktionen an. Darunter das Zeichnen von Punkten, Quadraten, Kreise usw. Aber fangen wir erstmal klein an, mit den Pixeln.

Als Ausgang verwenden wir den Source Code 3.c. Allerdings modifizieren wir es ein wenig, da wir auf das Laden eines Bildes verzichten.

Damit zerstören wir die Anzeige des Bildes, welches uns für diese Versuche stören würde.

Zunächst müssen wir es dem Kompiler mitteilen, dass wir die SDL_gfx Libarys benötigen und laden die entsprechenden Headers.

Die Funktion, die wir als erstes verwenden, ist pixelRGBA(). In dieser wird zunächst angegeben, auf welchem Ziel der Pixel gezeichnet werden soll -> renderer. Der Pixel wird dann an die Position x und y gemalt in der Farbe (Rot (255), Grün (0), Blau(0)) und mit voller Deckung (255).

Sourcecode: 4.c

Da wir wieder eine zusätzliche Bibliothek verwenden, müssen wir dies auch wieder bei der Kompilierung berücksichtigen:

Für 32-Bit

gcc -o 4.exe 4.c -Ic:/msys32/mingw32/include -Lc:/msys32/mingw32/lib -lmsys-2.0 -lSDL2_gfx -lSDL2_image -lSDL2main -lSDL2 -mwindows

Und für 64-Bit:

gcc -o 4.exe 4.c -Ic:/msys64/mingw64/include -Lc:/msys64/mingw64/lib -lmsys-2.0 -lSDL2_gfx -lSDL2_image -lSDL2main -lSDL2 -mwindows

Das Zeichnen eines Kreises

Hier nochmal kurz eine andere Funktion als Beispiel. Wir zeichnen einen Kreis.


  circleRGBA(render, x, y, 30, R, G, B, 255);
… 

Sourcecode: 5.c

Eine gesamte Auflistung aller Befehle findest Du in meiner SDL_gfx Aufstellung.

<< Übersicht | < Bilder anzeigen und speichern | Auf Eingaben reagieren >