There's a library like that-- https://github.com/libgd/libgd :GD is an open source code library for the dynamic creation of images
by programmers. GD is written in C, and "wrappers" are available for
Perl, PHP and other languages. GD creates PNG, JPEG, GIF, WebP, XPM,
BMP images, among other formats. GD is commonly used to generate
charts, graphics, thumbnails, and most anything else, on the fly.
While not restricted to use on the web, the most common applications
of GD involve website development.She's light, but as you can see from the description, she's not quite primitive. It is possible to create both indescent and full-coloured images, draw different primitives (including lines) and retract the text. There is built support for BMP, GIF, TGA, WBMP (the rest of the formats are connected through external libraries).Example of use https://github.com/libgd/libgd/blob/master/examples/arc.c #include "gd.h"
#include <stdio.h>
#include <stdlib.h>
int main()
{
gdImagePtr im;
FILE *fp;
int cor_rad = 60;
im = gdImageCreateTrueColor(400, 400);
gdImageFilledRectangle(im, 0, 0, 399, 399, 0x00FFFFFF);
gdImageFilledArc (im, cor_rad, 399 - cor_rad, cor_rad *2, cor_rad *2, 90, 180, 0x0, gdPie);
fp = fopen("b.png", "wb");
if (!fp) {
fprintf(stderr, "Can't save png image.\n");
gdImageDestroy(im);
return 1;
}
#ifdef HAVE_LIBPNG
gdImagePng(im, fp);
#else
printf("No PNG support. Cannot save image.\n");
#endif
fclose(fp);
gdImageDestroy(im);
return 0;
}