Вот пример кода, который делает это:
QImage image(100, 50, QImage::Format_ARGB32_Premultiplied);
QPainter painter(&image);
painter.fillRect(image.rect(), Qt::yellow);
painter.drawText(image.rect(), Qt::AlignCenter | Qt::AlignVCenter, "hello, world");
image.save("output.png");
Создает это изображение:
![enter image description here](https://i.stack.imgur.com/qQGgk.png)
Выходной формат - PNG, поэтому он будет иметь хорошее сжатие без потери качества.