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 分钟前
【AI小智硬件程序(九)】
c++·人工智能·嵌入式·esp32·ai小智
yaso_zhang12 分钟前
openssl版本匹配问题
qt
HABuo20 分钟前
【linux进程控制(一)】进程创建&退出-->fork&退出码详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
想唱rap33 分钟前
MySQL内置函数
linux·运维·服务器·数据库·c++·mysql
玖釉-34 分钟前
[Vulkan 学习之路] 10 - 掌握 SPIR-V:编写你的第一个着色器 (Shader Modules)
c++·windows·图形渲染
xiaoye-duck38 分钟前
吃透C++类和对象(中):详解 Date 类的设计与实现
c++
玖釉-1 小时前
[Vulkan 学习之路] 03 - 你的守护天使:校验层 (Validation Layers)
c++·windows·图形渲染
冰暮流星1 小时前
c语言如何实现字符串复制替换
c语言·c++·算法
txinyu的博客1 小时前
C++内存池的内存对齐问题
c++
hqwest1 小时前
码上通QT实战28--系统设置03-用户管理布局
开发语言·qt·qdialog·模态窗体·非模态窗体·qwidget!