QPainter的drawImage()
函数用于在绘图设备上绘制图像。该函数有多个重载形式,最常用的如下:
void drawImage(const QPointF& position, const QImage& image)
在给定位置position
处绘制图像image
。void drawImage(const QRectF& targetRect, const QImage& image, const QRectF& sourceRect = QRectF(), Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio)
在目标矩形区域targetRect
内绘制图像image
,可以选择只绘制源矩形区域的一部分。可通过设置参数sourceRect
来指定源矩形区域,并通过参数aspectRatioMode
来控制图像拉伸方式。
示例代码:
QPainter painter(this); // 绘图设备为当前窗口
QImage image("path/to/image.jpg"); // 加载图像
// 绘制整个图像
painter.drawImage(QPointF(0, 0), image);
// 绘制指定区域的图像,并进行等比例缩放
QRectF targetRect(100, 100, 200, 200);
QRectF sourceRect(50, 50, 100, 100);
painter.drawImage(targetRect, image, sourceRect);
注意:在使用QPainter之前,请确保已经开始了绘画操作,例如在QWidget的paintEvent()
函数中使用。
内容由零声教学AI助手提供,问题来源于学员提问