qpainter怎么在QPixmap上绘图,使用c plus plus
时间: 2024-05-09 22:18:59 浏览: 7
要在QPixmap上绘图,需要先创建一个QPainter对象并将其绑定到QPixmap。
以下是使用C++创建QPainter对象并在QPixmap上绘制一个矩形的示例代码:
```c++
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建QPixmap
QPixmap pixmap(400, 300);
pixmap.fill(Qt::white); // 填充白色
// 创建QPainter对象
QPainter painter(&pixmap);
// 绘制矩形
painter.setPen(Qt::black);
painter.setBrush(Qt::red);
painter.drawRect(100, 100, 200, 100);
// 保存QPixmap到文件
pixmap.save("output.png");
return app.exec();
}
```
在此示例中,我们创建了一个大小为400x300的QPixmap,并使用fill()函数将其填充为白色。然后,我们创建了一个QPainter对象,并将其绑定到QPixmap。接下来,我们使用setPen()和setBrush()函数设置画笔和画刷,然后使用drawRect()函数绘制一个红色的矩形。最后,我们使用save()函数将QPixmap保存到文件中。
请注意,QPainter对象必须在绘制完成后及时销毁,以释放内存。在本示例中,QPainter对象与QPixmap对象共同销毁,因为它们都是在main()函数结束时销毁。