QPainter是Qt库中的一个用于绘制图形的类,它提供了各种绘画和渲染功能,如绘制线条、矩形、圆形、椭圆、文字、图像等。
以下是一些QPainter的基本用法和示例:
1. 创建QPainter对象
创建QPainter对象需要指定一个绘画设备,可以是QImage、QPixmap、QPainterPath等。
QImage image(200, 200, QImage::Format_ARGB32);
QPainter painter(&image);
2. 绘制基本形状
QPainter提供了一系列函数来绘制基本形状,如线条、矩形、圆形、椭圆等。
QPainter painter(&image);
//设置红色的画笔
painter.setPen(Qt::red);
//绘制一个矩形,矩形的左上角坐标是(50, 50),宽度是100,高度为100
painter.drawRect(50, 50, 100, 100);
//设置填充颜色为蓝色
painter.setBrush(Qt::blue);
//椭圆的中心点是(150, 150),半长轴是75,半短轴是75。
painter.drawEllipse(150, 150, 75, 75);
3. 绘制文字
QPainter提供了一个函数drawText()来绘制文字。
QPainter painter(&image);
painter.setPen(Qt::black);
painter.drawText(20, 20, "Hello, World!");
4. 绘制图像
QPainter提供了一个函数drawPixmap()来绘制图像。
QPixmap pixmap("image.png");// 加载位图
QPainter painter(&image);
painter.drawPixmap(100, 100, pixmap);
5. 绘制路径
QPainter提供了一个函数drawPath()来绘制路径。
QPainterPath path;
path.moveTo(50, 50);
path.lineTo(150, 150);
path.lineTo(250, 50);
path.closeSubpath();
QPainter painter(&image);
painter.setPen(Qt::black);
painter.drawPath(path);
6. 清除画布
QPainter提供了一个函数clear()来清除画布。
QPainter painter(&image);
painter.clear();
7. 保存图像
QPainter提供了一个函数save()来保存图像。
QPainter painter(&image);
painter.save("image.png");