# 用来存储在图片上标注的mask
.cpp
#include <QPainter>
#include <QPixmap>
... ...
int mask_width = INT, mask_height = INT; //绘制图像的大小
QPixmap pixmap(mask_width, mask_height);
QPainter painter(&pixmap);
//绘制背景, 若不重绘背景,保存的图像中可能会出现奇奇怪怪的点
painter.setBrush(Qt::black);
painter.drawRect(QRect(0, 0, mask_width, mask_hight));
painter.setBrush(Qt::white);
QPolygon mask_points;
for(... ...){
mask_points << QPoint(axis_x, axis_y);
//要绘制的不规则闭合图形的顶点坐标
}
painter.drawConvexPolygon(mask_points);
pixmap.save(PATH); //保存绘制好的图像
本文介绍了一种使用 C++ 在 QPixmap 上绘制不规则闭合图形 Mask 的方法。通过设置画笔颜色并利用 QPainter 绘制指定尺寸的黑色背景,接着用白色填充不规则闭合图形来实现 Mask 的绘制。最后将绘制好的图像保存到指定路径。
257

被折叠的 条评论
为什么被折叠?



