diff --git a/src/raylib.h b/src/raylib.h index 4ec44b483..34b8cce4c 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1244,6 +1244,7 @@ RLAPI Image GenImageChecked(int width, int height, int checksX, int checksY, Col RLAPI Image GenImageWhiteNoise(int width, int height, float factor); // Generate image: white noise RLAPI Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale); // Generate image: perlin noise RLAPI Image GenImageCellular(int width, int height, int tileSize); // Generate image: cellular algorithm, bigger tileSize means bigger cells +RLAPI Image GenImageText(int width, int height, const char *text); // Generate image: grayscale image from text data // Image manipulation functions RLAPI Image ImageCopy(Image image); // Create an image duplicate (useful for transformations) diff --git a/src/rtextures.c b/src/rtextures.c index ceca1a305..45a96a169 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -893,6 +893,25 @@ Image GenImageCellular(int width, int height, int tileSize) return image; } + +// Generate image: grayscale image from text data +Image GenImageText(int width, int height, const char *text) +{ + Image image = { 0 }; + + int textLength = TextLength(text); + int imageViewSize = width*height; + + image.width = width; + image.height = height; + image.format = PIXELFORMAT_UNCOMPRESSED_GRAYSCALE; + image.data = RL_CALLOC(imageViewSize, 1); + image.mipmaps = 1; + + memcpy(image.data, text, (textLength > imageViewSize)? imageViewSize : textLength); + + return image; +} #endif // SUPPORT_IMAGE_GENERATION //------------------------------------------------------------------------------------