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

相关推荐
青山是哪个青山14 分钟前
C++ 核心基础与面向对象 (OOP)
开发语言·c++
小明同学0117 分钟前
[C++进阶]深入理解二叉搜索树
开发语言·c++·git·visualstudio
点云SLAM21 分钟前
C++std::enable_if_t 与 std::is_same_v使用
c++·模板元编程·c++ 类型萃取·enable_if_t·is_same_v
C+++Python22 分钟前
C++ vector
开发语言·c++·算法
橘子师兄1 小时前
C++AI大模型接入SDK—deepseek接入封装
c++·人工智能·chatgpt
清酒难咽1 小时前
算法案例之蛮力法
c++·经验分享·算法
散峰而望1 小时前
【数据结构】假如数据排排坐:顺序表的秩序世界
java·c语言·开发语言·数据结构·c++·算法·github
zh_xuan2 小时前
LeeCode 61. 旋转链表
数据结构·c++·算法·leetcode·链表
txinyu的博客2 小时前
C++ 线程库
开发语言·c++
云深处@2 小时前
二叉搜索树
数据结构·c++