QML 图形渲染 - RectangularGlow

作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

属性介绍

  • cached : bool
    使用缓存效果输出像素,可以提高渲染性能。每次更改源或效果属性时,都必须更新缓存中的像素。会增加内存消耗,因为存储效果输出需要额外的内存缓冲区。所以我们建议在源属性或效果属性设置动画时禁用缓存。默认为 false

  • color : color
    用于光晕的 RGBA 颜色值。默认情况下,该属性设置为 “white”

  • cornerRadius : real
    用于绘制圆角光晕的角半径。该值的范围为 0.0 到光晕有效宽度或高度的一半,以较小者为准。这可以通过以下公式计算:min(width, height) / 2.0 + glowRadius。默认情况下,该特性绑定到 glowRadius 特性。调整 glowRadius 特性时,光晕的行为就像矩形模糊一样

  • glowRadius : real
    光晕到达项目区域外的像素数。该值的范围从 0.0(无光晕)到 inf(无限光晕)。默认情况下,该属性设置为 0.0

  • spread : real
    在源边附近辉光颜色的大部分增强程度。该值的范围为 0.0(无强度增加)到 1.0(最大强度增加)。默认情况下,该属性设置为 0.0

注意事项

  1. RectangularGlow 支持 OpenGL 渲染
  2. RectangularGlow 具有良好的性能。光晕的形状限制为具有自定义角半径的矩形。对于需要自定义形状的情况,考虑光晕效应

不同数值效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

官方示例

import QtQuick 2.12
import QtGraphicalEffects 1.12

Item {
    width: 300
    height: 300
    
    Rectangle {
        id: background
        anchors.fill: parent
        color: "black"
    }
    
    RectangularGlow {
        id: effect
        anchors.fill: rect
        glowRadius: 10
        spread: 0.2
        color: "white"
        cornerRadius: rect.radius + glowRadius
    }
    
    Rectangle {
        id: rect
        color: "black"
        anchors.centerIn: parent
        width: Math.round(parent.width / 1.5)
        height: Math.round(parent.height / 2)
        radius: 25
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值