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

相关推荐
594h215 分钟前
PAT 甲级 1002题
数据结构·c++·算法
三玖诶1 小时前
在 Qt 中使用 QLabel 设置 GIF 动态背景
开发语言·qt·命令模式
小周的C语言学习笔记2 小时前
鹏哥C语言33---循环语句 for
c语言·c++·算法
ZH_qaq2 小时前
【洛谷】P11062 【MX-X4-T2】「Jason-1」加法 的题解
c++·算法
9ilk2 小时前
【与C++的邂逅】--- C++的IO流
开发语言·c++
是小满满满满吗2 小时前
C++中的继承
开发语言·c++·python
程序猿练习生2 小时前
C++速通LeetCode简单第16题-买卖股票的最佳时机
开发语言·c++·leetcode
只对您心动2 小时前
【QT】实现TCP服务器,客户端之间的通信
linux·服务器·c语言·开发语言·c++·qt·tcp/ip
MaTF_3 小时前
《Effective C++》第三版——让自己习惯C++
开发语言·c++
Antonio9153 小时前
【高级数据结构】树状数组
数据结构·c++·算法