可实现矩形截图和任意多边形截图,具体操作见视频。
基于QT的图像裁剪工具
主要代码如下:
QPixmap pCapPix;//裁剪
//填充空白区域
QImage img(m_pPix.size(), QImage::Format_ARGB32);
img.fill(QColor(0, 0, 0, 0));
//裁剪出多边形
QPainter painter(&img);
QPainterPath path;
path.addPolygon(m_tCapPolygon);
painter.setClipPath(path);
QRect tTargetRect;
tTargetRect.setWidth(m_pPix.width());
tTargetRect.setHeight(m_pPix.height());
painter.drawPixmap(tTargetRect,m_pPix,tTargetRect);
//裁剪多边形的外界矩形
pCapPix = QPixmap::fromImage(img);
pCapPix = pCapPix.copy(m_tCapPolygon.boundingRect());
pCapPix.save(sImgPath);