diff options
| author | Ray San <raysan5@gmail.com> | 2017-10-30 09:37:16 +0100 |
|---|---|---|
| committer | Ray San <raysan5@gmail.com> | 2017-10-30 09:37:16 +0100 |
| commit | f460b3842e76e110daf0d1e81c39fb9f1b44e95e (patch) | |
| tree | 4e4ffd38ceeca7b29e48222ad859c2fffe34b171 /examples | |
| parent | 743cc6add68111cde0366476823537210c38cab4 (diff) | |
| download | raylib-f460b3842e76e110daf0d1e81c39fb9f1b44e95e.tar.gz raylib-f460b3842e76e110daf0d1e81c39fb9f1b44e95e.zip | |
Added new example: text drawing on image
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/Makefile | 2 | ||||
| -rw-r--r-- | examples/textures/resources/KAISG.ttf | bin | 0 -> 79912 bytes | |||
| -rw-r--r-- | examples/textures/textures_image_text.c | 83 | ||||
| -rw-r--r-- | examples/textures/textures_image_text.png | bin | 0 -> 556322 bytes |
4 files changed, 84 insertions, 1 deletions
diff --git a/examples/Makefile b/examples/Makefile index 1557da92..2942f110 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -292,6 +292,7 @@ EXAMPLES = \ textures/textures_image_processing \ textures/textures_image_drawing \ textures/textures_image_generation \ + textures/textures_image_text \ text/text_sprite_fonts \ text/text_bmfont_ttf \ text/text_raylib_fonts \ @@ -368,4 +369,3 @@ ifeq ($(PLATFORM),PLATFORM_WEB) del *.o *.html *.js endif @echo Cleaning done - diff --git a/examples/textures/resources/KAISG.ttf b/examples/textures/resources/KAISG.ttf Binary files differnew file mode 100644 index 00000000..04478b25 --- /dev/null +++ b/examples/textures/resources/KAISG.ttf diff --git a/examples/textures/textures_image_text.c b/examples/textures/textures_image_text.c new file mode 100644 index 00000000..1d4231f7 --- /dev/null +++ b/examples/textures/textures_image_text.c @@ -0,0 +1,83 @@ +/******************************************************************************************* +* +* raylib [texture] example - Image text drawing using TTF generated spritefont +* +* This example has been created using raylib 1.8 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [texture] example - image text drawing"); + + // TTF SpriteFont loading with custom generation parameters + SpriteFont font = LoadSpriteFontEx("resources/KAISG.ttf", 64, 0, 0); + + Image parrots = LoadImage("resources/parrots.png"); // Load image in CPU memory (RAM) + + // Draw over image using custom font + ImageDrawTextEx(&parrots, (Vector2){ 20, 20 }, font, "[Parrots font drawing]", font.baseSize, 0, WHITE); + + Texture2D texture = LoadTextureFromImage(parrots); // Image converted to texture, uploaded to GPU memory (VRAM) + UnloadImage(parrots); // Once image has been converted to texture and uploaded to VRAM, it can be unloaded from RAM + + Vector2 position = { screenWidth/2 - texture.width/2, screenHeight/2 - texture.height/2 - 20 }; + + bool showFont = false; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (IsKeyDown(KEY_SPACE)) showFont = true; + else showFont = false; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + if (!showFont) + { + // Draw texture with text already drawn inside + DrawTextureV(texture, position, WHITE); + + // Draw text directly using sprite font + DrawTextEx(font, "[Parrots font drawing]", (Vector2){ position.x + 20, + position.y + 20 + 280 }, font.baseSize, 0, WHITE); + } + else DrawTexture(font.texture, screenWidth/2 - font.texture.width/2, 50, BLACK); + + DrawText("PRESS SPACE to SEE USED SPRITEFONT ", 290, 420, 10, DARKGRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadTexture(texture); // Texture unloading + + UnloadSpriteFont(font); // Unload custom spritefont + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +}
\ No newline at end of file diff --git a/examples/textures/textures_image_text.png b/examples/textures/textures_image_text.png Binary files differnew file mode 100644 index 00000000..dafbabfb --- /dev/null +++ b/examples/textures/textures_image_text.png |
