Я бы предложил CImg вот так:
#include <iostream>
#include <cstdlib>
#define cimg_display 0
#include "CImg.h"
using namespace cimg_library;
using namespace std;
int main() {
// Create 72x72 RGB image
CImg<unsigned char> image(72,72,1,3);
// Fill with magenta
cimg_forXY(image,x,y) {
image(x,y,0,0)=255;
image(x,y,0,1)=0;
image(x,y,0,2)=255;
}
// Make some colours
unsigned char cyan[] = {0, 255, 255 };
unsigned char black[] = {0, 0, 0 };
// Draw black text on cyan
image.draw_text(3,20,"Test text",black,cyan,1,16);
// Save result image as NetPBM PNM - no libraries required
image.save_pnm("result.pnm");
}
Это небольшой, быстрый, всеобъемлющий по функциональности, современный C ++ и «только заголовок» , что означает, что вам также не нужно ссылаться на что-либо.