painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,QPixmap(":/new/prefix1/agv1.png").scaled(25,25));,根據agv的angle_值來旋轉圖片
时间: 2024-03-12 10:43:56 浏览: 92
amtemu.v0.9.2-painter.7z
您可以使用QPixmap的transformed()函数和QTransform的rotate()函数将图像旋转。例如,以下代码将根据AGV的angle_值(以度为单位)旋转图像:
```
QPixmap agvPixmap(":/new/prefix1/agv1.png");
QPainter painter;
painter.translate(agvs[i].current_x*25+200, (agvs[i].current_y+1)*25+50);
painter.rotate(agvs[i].angle_);
painter.drawPixmap(-agv_size/2, -agv_size/2, agv_size, agv_size, agvPixmap.scaled(25, 25).transformed(QTransform().rotate(agvs[i].angle_)));
```
这里,我们首先将绘图器的坐标系移动到AGV的中心点,然后旋转绘图器。最后,我们使用transformed()函数将图像旋转并绘制它。
阅读全文