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);

相关推荐
王老师青少年编程1 分钟前
信奥赛C++提高组csp-s之数论基础专题课:欧拉函数和欧拉定理2(编程案例实践)
c++·数论·欧拉函数·信奥赛·欧拉定理·csp-s·提高组
总斯霖24 分钟前
P15445永远在一起!题解(月赛T2)
数据结构·c++·算法·深度优先
IOT-Power29 分钟前
自动化设备控制系统 / Qt + 嵌入式设备软件
运维·qt·自动化
Yupureki1 小时前
《C++实战项目-高并发内存池》4.CentralCache构造
c语言·开发语言·c++·单例模式·github
样例过了就是过了1 小时前
LeetCode热题100 全排列
数据结构·c++·算法·leetcode·dfs
2401_898075121 小时前
分布式系统监控工具
开发语言·c++·算法
OKkankan1 小时前
撕 STL 系列:封装红黑树实现 mymap 和 myset
java·c++·算法
ab1515171 小时前
3.15二刷基础90、105、106、110
数据结构·c++·算法
寻寻觅觅☆1 小时前
东华OJ-进阶题-10-分解质因数(C++)
数据结构·c++·算法
Darkwanderor2 小时前
数据结构——ST表和RMQ问题
数据结构·c++·动态规划·st表·rmq问题