将QGraphicsScene保存到PNG文件的问题

时间:2014-02-18 18:50:27

标签: qt qgraphicsview qgraphicsscene qpainter qimage

我有一个QGraphicScene对象,只要我没有对项目进行滚动或缩放等任何修改,我就可以保存到PNG文件中。执行滚动或缩放后,保存的图像变小,许多透明像素填充所需尺寸。我认为这与需要将QGraphicsView的可见区域渲染到QImage并保存但我无法解决这个问题有关。

以下是我的一些代码:

void myClass::saveSceneAsPNGImage(QString path, int width)
{
    Scene->clearSelection();

    double scaleFactor = (width / Scene->sceneRect().size().width());

    QImage image(Scene->sceneRect().size().width() * scaleFactor, 
        Scene->sceneRect().size().height() * scaleFactor, 
        QImage::Format_ARGB32);

    QPainter painter(&image);
    painter.setRenderHint(QPainter::Antialiasing);
    Scene->render(&painter);
    image.save(path);
}

0 个答案:

没有答案