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 22:44:00 浏览: 53
amtemu.v0.9.2-painter.7z
如果您想要根据AGV的angle_值来旋转绘制的图像,可以将绘图器的坐标系进行旋转,然后绘制图像。例如:
```
QPixmap agvPixmap(":/new/prefix1/agv1.png");
QPainter painter(this);
painter.begin(this);
// 绘制代码,例如:
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));
painter.end();
```
这里我们将绘图器的坐标系移动到AGV的中心点,然后旋转绘图器的坐标系。最后,我们使用drawPixmap()函数绘制旋转后的图像。
请注意,如果您在之前调用了其他绘图函数如drawLine()或drawRect()等,需要先调用painter.resetTransform()函数将绘图器的坐标系重置为默认值,然后再进行平移和旋转。
阅读全文