QPainter 在QPixmap上绘制
时间: 2023-12-10 21:38:26 浏览: 82
可以使用QPainter在QPixmap上绘制。以下是一个简单的例子:
```python
from PyQt5.QtGui import QPainter, QPixmap, QColor
# 创建一个大小为200x200像素的QPixmap
pixmap = QPixmap(200, 200)
# 在QPixmap上创建一个QPainter对象
painter = QPainter(pixmap)
# 设置画笔颜色为红色
painter.setPen(QColor(255, 0, 0))
# 在(50,50)处绘制一个矩形,大小为100x100像素
painter.drawRect(50, 50, 100, 100)
# 结束绘制,释放QPainter对象
painter.end()
# 显示QPixmap
pixmap.show()
```
在这个例子中,我们首先创建了一个大小为200x200像素的QPixmap,并在其上创建了一个QPainter对象。接下来,我们设置了画笔颜色为红色,并在(50,50)处绘制了一个矩形,大小为100x100像素。最后,我们结束了绘制并显示了QPixmap。
相关问题
QPainter 在QPixmap上绘制 C++表示
在 Qt 中,使用 QPainter 类可以在 QPixmap 对象上进行绘制。下面是一个简单的示例代码,演示如何在 QPixmap 对象上绘制一个矩形和一些文本:
```cpp
#include <QApplication>
#include <QPixmap>
#include <QPainter>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建一个 400x400 的 QPixmap 对象
QPixmap pixmap(400, 400);
// 使用 QPainter 在 QPixmap 上绘制一个矩形
QPainter painter(&pixmap);
painter.drawRect(50, 50, 300, 300);
// 在矩形中央绘制一些文本
QFont font;
font.setPointSize(20);
painter.setFont(font);
painter.drawText(100, 200, "Hello, world!");
// 显示 QPixmap 对象
pixmap.show();
return a.exec();
}
```
在上面的代码中,我们首先创建了一个 400x400 的 QPixmap 对象。然后,我们使用 QPainter 类的构造函数将其与 QPixmap 对象相关联,并在上面绘制了一个矩形和一些文本。最后,我们使用 show() 方法显示 QPixmap 对象。
pyqt qpainter 在 qpixmap 上画画
您可以通过在QPixmap上创建一个QPainter对象并在其上绘制图形来实现在QPixmap上画画的功能。下面是一个简单的例子:
```python
from PyQt5.QtWidgets import QLabel, QApplication
from PyQt5.QtGui import QPixmap, QPainter, QPen, QColor
from PyQt5.QtCore import Qt
if __name__ == '__main__':
app = QApplication([])
# 创建一个QPixmap对象
pixmap = QPixmap(400, 400)
pixmap.fill(Qt.white)
# 创建一个QPainter对象
painter = QPainter(pixmap)
painter.setRenderHint(QPainter.Antialiasing)
# 设置画笔
pen = QPen(QColor(0, 0, 255))
pen.setWidth(2)
painter.setPen(pen)
# 绘制线条
painter.drawLine(0, 0, 400, 400)
painter.drawLine(400, 0, 0, 400)
# 绘制矩形
painter.drawRect(100, 100, 200, 200)
# 绘制椭圆
painter.drawEllipse(50, 50, 300, 300)
# 保存绘制结果
pixmap.save('output.png')
app.exec_()
```
在上面的代码中,我们首先创建了一个大小为400x400的QPixmap对象,并使用fill()方法将其填充为白色。接着,我们创建了一个QPainter对象,并将其渲染设置为抗锯齿。然后,我们设置了一个蓝色的画笔,并将其宽度设置为2。接着,我们使用drawLine()方法在QPixmap上绘制了两条线条,使用drawRect()方法绘制了一个矩形,使用drawEllipse()方法绘制了一个椭圆。最后,我们使用save()方法将绘制结果保存为一张png图片。
阅读全文