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

相关推荐
灰色小旋风16 分钟前
力扣13 罗马数字转整数
数据结构·c++·算法·leetcode
2301_8101609521 分钟前
C++与物联网开发
开发语言·c++·算法
cm65432025 分钟前
基于C++的操作系统开发
开发语言·c++·算法
ArturiaZ27 分钟前
【day57】
开发语言·c++·算法
2401_8747325344 分钟前
C++并发编程中的死锁避免
开发语言·c++·算法
2301_792308251 小时前
C++编译期数学计算
开发语言·c++·算法
hetao17338371 小时前
2025-03-13~22 hetao1733837 的刷题记录
c++·算法
sqyno1sky1 小时前
C++中的契约编程
开发语言·c++·算法
qq_334903151 小时前
嵌入式C++驱动开发
开发语言·c++·算法
阿贵---1 小时前
C++代码规范化工具
开发语言·c++·算法