QPixmap roundedPixmap(const QPixmap& src, QSize size, int radius) {
QPixmap scaled = src.scaled(size, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);
QPixmap dest(size);
dest.fill(Qt::transparent);
QPainter painter(&dest);
painter.setRenderHint(QPainter::Antialiasing);
QPainterPath path;
path.addRoundedRect(0, 0, size.width(), size.height(), radius, radius);
painter.setClipPath(path);
painter.drawPixmap(0, 0, scaled);
return dest;
}
QPixmap rounded = roundedPixmap(QPixmap("xxx.jpg"), ui->portrait_label->size(), 20); // 设置圆角半径
ui->portrait_label->setPixmap(rounded);
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Qt将图片绘制成圆形
发表评论 取消回复