QT开发中文网

c++ qt QGraphicsView 绘制在图层上,图层可以单独拿出来保存

要在Qt的QGraphicsView上绘制图层并将其保存为单独的文件,可以采用以下步骤:

  1. 创建一个QGraphicsScene对象,并将其设置为QGraphicsView的场景。
  2. 在场景中添加需要绘制的图形项,如QGraphicsItem、QGraphicsPixmapItem等。
  3. 创建一个新的QImage对象,大小与场景相同。
  4. 将QGraphicsView上的图形项渲染到该图片上,可以使用render()函数实现。
  5. 将生成的图片保存到本地文件。

下面是一个示例代码:

#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QGraphicsScene>
#include <QtWidgets/QGraphicsView>
#include <QtGui/QPainter>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QMainWindow mainWindow;
    QGraphicsScene scene;
    QGraphicsView view(&scene);

    // 添加需要绘制的图形项
    QGraphicsEllipseItem* ellipse = new QGraphicsEllipseItem(0, 0, 50, 50);
    ellipse->setPos(10, 10);
    scene.addItem(ellipse);

    // 渲染并保存图片
    QImage image(scene.sceneRect().size().toSize(), QImage::Format_ARGB32_Premultiplied);
    QPainter painter(&image);
    scene.render(&painter);
    image.save("layer.png");

    // 显示视图和主窗口
    mainWindow.setCentralWidget(&view);
    mainWindow.show();
    
   return a.exec();
}

在这个例子中,我们创建了一个椭圆形图形项并将其添加到场景中。然后,我们创建了一个新的QImage对象,并使用QPainter将场景渲染到该图像上。最后,我们将生成的图像保存到本地文件“layer.png”。

希望这个例子能够帮助你在Qt的QGraphicsView上绘制和保存图层。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=1960

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?