----- MultiEffect -----


https://doc.qt.io/qt-6.9/zh/qml-qtquick-effects-multieffect.html

 属性 
import QtQuick
import QtQuick.Effects
    
Item {
    id: item
}
   
MultiEffect {
    source: itemID
        //作用的项目,不能作为效果项目子级使用
    autoPaddingEnabled: bool
        //项目大小会根据blurMax 和blurMultiplier 自动填充,默认 true
        //需启用模糊或阴影效果
    paddingRect: rect
        //该值可手动增大项目尺寸,以便适合模糊和/或阴影效果
    
    /*----------模糊----------*/
    blurEnabled: bool
        //启用模糊效果,默认:false
    blur: real
        //模糊(半径)的程度,范围 0.0~1.0,默认:0
        //完全模糊的程度受 blurMax 和 blurMultiplier 的影响
    blurMax: real
        // blur = 1 时的最大像素半径,默认:32
        //越小性能越好
    blurMultiplier: real
        //扩展模糊半径的乘数,范围 0.0~inf,默认:0
        //对于更大的模糊半径,此项比 blurMax 更有效
        //对模糊和阴影效果都有影响
    
    /*----------阴影----------*/
    shadowEnabled: bool
        //启用阴影效果,默认:false
    shadowBlur: real
        //阴影的模糊程度(半径),范围 0~1,默认:1
        //减少阴影模糊的最佳方法是将blurMax 设得更小
    shadowColor: color
        //阴影颜色,默认:Qt.rgba(0.0, 0.0, 0.0, 1.0)
    shadowHorizontalOffset: real
        //阴影的水平偏移
    shadowVerticalOffset: real
        //阴影的垂直偏移
    shadowOpacity: real
        //阴影的不透明度,范围 0~1,默认:1
        //该值与shadowColor alpha 值相乘
    shadowScale: real
        //阴影的缩放比例,范围 0~inf,默认:1
    
    /*----------色相饱和度----------*/
    brightness: real
        //亮度的增减幅度,范围 -1~1,默认:0
    contrast: real
        //对比度的增减幅度,范围 -1~1,默认:0
    saturation: real
        //饱和度的增减幅度,范围 -1~1,默认:0
    colorization: real
        //着色的程度,范围 0~1,默认:0
    colorizationColor: color
        //着色颜色,默认:Qt.rgba(1.0, 0.0, 0.0, 1.0)
    
    /*----------遮罩----------*/
    maskEnabled: bool
        //启用遮罩效果,默认:false
    maskInverted: bool
        //反转遮罩,默认:false
        //在maskThresholdMin 和maskThresholdMax 之间的内容将被遮罩掉,而不是遮罩掉 和 以外的内容
    maskSource: Item
        //遮罩效果的源项目,源项的 alpha 通道用于遮罩
        //如果遮罩源和源的尺寸不同,则会拉伸遮罩源图像以匹配源的尺寸
    maskSpreadAtMin(Max): real
        //maskThresholdMin(Max) 附近遮罩边缘的平滑度,默认:0
    maskThresholdMin(Max): real
        //遮罩像素的上阈值,范围 0~1(alpha 值 0~255),默认:1
}


 只读属性 
import QtQuick
import QtQuick.Effects
   
MultiEffect {
    fragmentShader: string
        //当前使用的片段着色器的文件名
    vertexShader: string
        //当前使用的顶点着色器的文件名
    hasProxySource: bool
        //当MultiEffect 在内部为source 项目创建ShaderEffectSource 时,返回值为 true
        //当source 项目按原样使用时,返回值为 false
    itemRect: rect
        //亮度的增减幅度,范围 -1~1,默认:0
    contrast: real
        //效果项矩形,可用于查看项目覆盖的区域
}


 信号 
import QtQuick
import QtQuick.Effects
   
MultiEffect {
    shaderChanged()
    onShaderChanged: {
        //当所使用的着色器发生变化时会发出该信号
    }
}