Qt::填充类型-光晕效果-QRadialGradient

二维矢量动画智能制作软件开发合集

链接:软件开发技术分享及记录合集

个人开发二维矢量动画智能制作软件界面如下:

目录

一、光晕效果原理

二、光晕效果代码实现

三、光晕效果软件测试视频

结束语

一、光晕效果原理

本软件的填充样式中设计了光晕效果,参数设置界面如下图所示:

采用QRadialGradient类来实现光晕效果,其中参数设计了光晕向内半径和模糊半径,对应的是QRadialGradient类的位置数值设置;光晕颜色,对应的是QRadialGradient类的颜色设置,仅阴影是bool类型参数,若为选中状态,则只显示光晕,不显示填充的本色,即本色设置为透明色即可。

二、光晕效果代码实现

.h文件变量申明:

QBrush brush;

QRectF m_rectF;

void Item::setFillHalo(qreal inR,qreal blur,QColor color,bool isOnly)
{
    QRadialGradient g;
    g.setCenter(m_rectF.center());
    g.setFocalPoint(m_rectF.center());
    qreal len;
    if(m_rectF.width() < m_rectF.height())
        len = m_rectF.height();
    else
        len = m_rectF.width();
    g.setCenterRadius(len/2);
    if(isOnly)
        g.setColorAt(0,Qt::transparent);
    else
        g.setColorAt(0,m_color);
    g.setColorAt(1-inR,m_color);
    if(blur > 0)
        g.setColorAt(1-inR+blur,color);
    else
        g.setColorAt(1-inR+0.0001,color);
    g.setColorAt(1,color);
    g.setSpread(QGradient::PadSpread);
    brush = QBrush(g);
}

三、光晕效果软件测试视频

光晕测试

​​​​​​​


结束语

本文简要梳理了软件【光晕效果】的实现框架,内容均为原创。

作者文笔水平一般,请大家多多包涵和指正,十分欢迎进一步交流学习。

若需,请联系本人小红书(小红书号:YzLab96),谢谢。

链接:  软件开发及测试所有视频合集见小红书​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值