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

相关推荐
枫叶丹432 分钟前
【Qt开发】Qt界面优化(五)-> Qt样式表(QSS) 子控件选择器
c语言·开发语言·数据库·c++·qt
xiaoye-duck44 分钟前
《算法题讲解指南:优选算法-双指针》--01移动零,02复写零
c++·算法
额,不知道写啥。1 小时前
P5314 ODT(毒瘤树剖)
数据结构·c++·算法
Once_day1 小时前
GCC编译(4)构造和析构函数
c语言·c++·编译和链接
今儿敲了吗1 小时前
24| 字符串
数据结构·c++·笔记·学习·算法
橘色的喵1 小时前
嵌入式 Telnet 调试 Shell 重构: 纯 POSIX 轻量化实现
c++
橘色的喵1 小时前
ztask: 一个C++14编写的、 类型安全、RAII 与模板化任务调度器
c++
小龙报2 小时前
【51单片机】不止是调光!51 单片机 PWM 实战:呼吸灯 + 直流电机正反转 + 转速控制
数据结构·c++·stm32·单片机·嵌入式硬件·物联网·51单片机
彩妙不是菜喵2 小时前
C++:深入浅出讲解=>多态
开发语言·c++
lightqjx3 小时前
【C++】C++11 - Lambda表达式+包装器
开发语言·c++·c++11·lambda·包装器