【发布时间】:2012-03-17 22:37:22
【问题描述】:
我正在尝试使用 OpenGL 将 QGraphicsScene 保存为图像(png 或 jpeg),但我不希望图像依赖于当前视图(缩放)。这就是为什么我不使用 grabFrameBuffer 而是使用 render() 的原因:
QImage imgToSave(1024,768,QImage::Format_ARGB32_Premultiplied);
// fill the image
// and define rectbuffer(), the QRect() containing what I want to save
QPainter painter(&imgToSave);
m_scene = new QGraphicsScene;
// fill the Scene
m_scene->render(&painter,imgToSave.rect(),rectbuffer());
确实有效。我的问题是:它是否使用 OpenGL 功能? 如果没有,怎么办?
n.b. :我使用 QGLWidget 作为我的 GraphicsView 的视口。并且使用 OpenGL 的显示正在工作。我担心的是图像保存。
【问题讨论】: