Я делаю что-то вроде этого:Сохранение QImage в QBuffer
QImage image(width, height, QImage::Format_RGB32);
frame.fill(QColor(255, 255, 255).rgb());
QBuffer buffer;
buffer.open(QBuffer::ReadWrite);
QDataStream out(&buffer);
Вариант 1:
out << image;
Вариант 2:
out.writeRawData((char *) image.constBits(), image.byteCount()) ;
Вариант 1 довольно медленно, и я не уверен, что вариант 2 - правильный способ?