我正在使用在QGraphicsItemGroup中使用地图图块渲染地图的应用程序,我想切换到OpenGL,以便可以在地图上添加3D形状。
为了尽可能平稳地执行此操作,我需要从此QGraphicsItemGroup中获取纹理。
万一有人遇到这个问题,我设法得到可以合作的东西。我没有使用QGraphicsItemGroup,而是采用了整个场景,并从中制作了一个用作纹理的图像。
代码提取:(地图是我的QGraphicsScene)
QImage img(ui->map->width(), ui->map->height(),QImage::Format_ARGB32_Premultiplied);
QPainter p(&img);
ui->map->fitInView(0,0,scene.width(),scene.height(),Qt::IgnoreAspectRatio);
ui->map->viewport()->render(&p);
p.end();
img.save("tmp.png");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句