Qt将图片绘制成圆形

cpp 复制代码
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);

相关推荐
啊吧怪不啊吧37 分钟前
C++之基于正倒排索引的Boost搜索引擎项目usuallytool部分代码及详解
开发语言·c++·搜索引擎·项目
漫雾_4 小时前
两个强制结束进程的方法
c++·驱动开发·安全
HAPPY酷4 小时前
C++ 多线程实战三板斧
java·开发语言·c++·技术美术
fpcc4 小时前
并行编程实战——CUDA编程的Tile
c++·cuda
_风华ts6 小时前
C++ 函数封装与绑定
c++·函数指针·函数封装
ShineWinsu6 小时前
对于C++中stack和queue的详细介绍
开发语言·数据结构·c++·面试·stl·queue·stack
L_Aria7 小时前
6421. 【NOIP2019模拟11.11】匹配
c++·算法·动态规划
智者知已应修善业7 小时前
【PAT乙级真题解惑1012数字分类】2025-3-29
c语言·c++·经验分享·笔记·算法
-To be number.wan8 小时前
算法学习日记 | 双指针
c++·学习·算法
wangluoqi9 小时前
c++ 逆元 小总结
开发语言·c++