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

相关推荐
老歌老听老掉牙几秒前
PyQt5中RadioButton互斥选择的实现方法
开发语言·python·qt
不会写代码的里奇6 分钟前
从零开发基于DeepSeek的端侧离线大模型语音助手:全流程指南
c++·后端·音视频
nike0good22 分钟前
Goodbye 2025 题解
开发语言·c++·算法
Sheep Shaun23 分钟前
STL中的unordered_map和unordered_set:哈希表的快速通道
开发语言·数据结构·c++·散列表
樊梓慕1 小时前
【嵌入式】buildroot构建ros2环境
c++·机器人
爱编码的傅同学1 小时前
【程序地址空间】页表的映射方式
c语言·数据结构·c++·算法
序属秋秋秋1 小时前
《Linux系统编程之进程控制》【进程替换】
linux·c语言·c++·操作系统·进程·系统编程·进程替换
hslinux1 小时前
NDK 通过configure 编译C++源码通用脚本
android·c++·ndk·configure
盖世灬英雄z1 小时前
数据结构与算法学习(二)
c++·学习
qq_310658511 小时前
webrtc源码走读(三)核心引擎层——音频引擎
服务器·c++·音视频·webrtc