C
QuickMultiEffect QML 类型
在同一项目中组合多个效果。 更多...
导入声明 | import "qrc:/quickmultieffect" . |
自从 | QuickMultiEffect 1.0 |
继承 |
属性
- blur : real
- blurEnabled : bool
- blurMax : int
- blurMultiplier : real
- brightness : real
- brightnessEnabled : bool
- colorize : real
- colorizeColor : color
- colorizeEnabled : bool
- contrast : real
- contrastEnabled : bool
- hideSource : bool
- maskEnabled : bool
- maskInverted : bool
- maskSource : var
- maskSpreadLow : real
- maskSpreadUp : real
- maskThresholdLow : real
- maskThresholdUp : real
- paddingEnabled : bool
- paddingRect : rect
- saturation : real
- saturationEnabled : bool
- shadowBlur : real
- shadowColor : color
- shadowEnabled : bool
- shadowHorizontalOffset : real
- shadowOpacity : real
- shadowScale : real
- shadowVerticalOffset : real
- source : var
详细描述
QuickMultiEffect 是用于添加效果到 Qt Quick 用户界面的项。与 Qt 图形效果模块相比,QuickMultiEffect 将多个效果(模糊、阴影、着色等)组合到单个项和着色器中。这提高了在一个项上需要多个效果时的性能。QuickMultiEffect 特别设计用于动画效果,在这种情况下,性能比绝对绘制质量更重要。
要在您的应用程序 UI 中使用 QuickMultiEffect,请按照以下步骤操作
- 将
quickmultieffect
目录复制到您的项目中。 - 在您的 .pro 文件中,添加
include(quickmultieffect/include.pri)
或使用非 qmake 的构建系统执行等效操作。
- 添加
import "qrc:/quickmultieffect"
并将
QuickMultiEffect { ... }
组件添加到您的 QML 文件中。
- 将 QuickMultiEffect 的 source 属性设置为想要添加效果的项。
- 启用您要使用的 QuickMultiEffect 功能。这些是具有 Enabled 后缀的布尔属性,例如 blurEnabled,contrastEnabled,colorizeEnabled 等。为了提高性能,只有启用了的功能才会生成着色器代码。
- 调整和/或动画效果属性。请注意,某些属性应事先设置,而不是在动画期间设置,以获得最佳性能。这些属性附带有 性能说明 注释。
属性说明
blur : real |
该属性定义应用到的源模糊(半径)量。
值范围为 0.0(无模糊)到 1.0(完全模糊)。默认情况下,属性设置为 0.0
(无变化)。完全模糊量受 blurMax 和 blurMultiplier 的影响。
性能说明: 如果在任何模糊动画点不需要接近 1.0,请考虑降低 blurMax 或 blurMultiplier 以获得最佳性能。
blurEnabled : bool |
启用模糊效果。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
blurMax : int |
该属性定义值 1.0 的模糊可达的最大像素半径。
此值的合理范围为 2(细微模糊)到 64(高模糊)。默认情况下,属性设置为 32
。为了获得最佳性能,请选择所需的最小值。
注意: 这会影响模糊和阴影效果。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
性能说明: 导致项重置大小;不要在动画期间更改此属性。
blurMultiplier : real |
该属性定义扩展模糊半径的乘数。
值范围为 0.0(不乘)到无穷大。默认情况下,属性设置为 0.0
。增加乘数会扩展模糊半径,但会降低模糊质量。这是一个比 blurMax 更好的更大模糊半径的性能选项,因为它不会增加纹理查找的数量。
注意: 这会影响模糊和阴影效果。
性能说明: 导致项重置大小;不要在动画期间更改此属性。
brightness : real |
该属性定义源亮度增加或减少的量。
值范围为 -1.0 到 1.0。默认情况下,属性设置为 0.0
(无变化)。
brightnessEnabled : bool |
启用亮度效果。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
colorize : real |
该属性定义源以 colorizeColor 着色的程度。
值范围从0.0(无着色)到1.0(完全着色)。默认情况下,该属性设置为0.0
(无变化)。
colorizeColor : 颜色 |
此属性定义了用于着色源的RGBA颜色值。
默认情况下,该属性设置为Qt.rgba(1.0, 0.0, 0.0, 1.0)
(红色)。
colorizeEnabled : 布尔值 |
启用着色效果。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
contrast : 实数 |
此属性定义了怎样增加或减少源对比度。
值范围为 -1.0 到 1.0。默认情况下,属性设置为 0.0
(无变化)。
contrastEnabled : 布尔值 |
启用对比度效果。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
hideSource : 布尔值 |
当启用时,源项被隐藏。这通常在效果项替换源项时首选。另一种选择是将源项的visibility
属性设置为false
,但这也会禁用用户交互(例如从MouseArea的事件)。因此,隐藏源项可能是首选。
默认情况下,此属性设置为true
。
maskEnabled : 布尔值 |
启用遮罩效果。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
maskInverted : 布尔值 |
此属性切换遮罩到对立面;不是屏蔽maskThresholdLow和maskThresholdUp之外的内容,而是在它们之间进行屏蔽。
默认情况下,该属性设置为false
。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
maskSource : 变量 |
遮罩效果的源项。应指向ShaderEffectSource、具有layer.enabled
设置为true
的项,或可以直接用作纹理源的项(例如Image)。源项的透明度通道用于屏蔽。
maskSpreadLow : 实数 |
此属性定义了接近maskThresholdLow的遮罩边缘的平滑度。设置更高的扩散值会通过在它们之间添加插值值来软化透明遮罩像素向不透明遮罩像素的过渡。
值范围从0.0(锐利遮罩边缘)到1.0(平滑遮罩边缘)。默认情况下,该属性设置为0.0
。
maskSpreadUp : 实数 |
此属性定义了接近maskThresholdUp的遮罩边缘的平滑度。使用更高的扩散值会通过在它们之间添加插值值来软化透明遮罩像素向不透明遮罩像素的过渡。
值范围从0.0(锐利遮罩边缘)到1.0(平滑遮罩边缘)。默认情况下,该属性设置为0.0
。
maskThresholdLow : 实数 |
此属性定义了遮罩像素的最低阈值。在属性值以下的遮罩像素会用于完全遮罩源项对应的像素。具有更高透明度的遮罩像素用于将源项不透明度混合到显示中。
值的范围从 0.0(透明度 0)到 1.0(透明度 255)。默认情况下,属性设置为 0.0
。
maskThresholdUp : 实数 |
此属性定义了遮罩像素的最高阈值。在属性值以下的遮罩像素会用于完全遮罩源项对应的像素。具有更高透明度的遮罩像素用于将源项不透明度混合到显示中。
值的范围从 0.0(透明度 0)到 1.0(透明度 255)。默认情况下,属性设置为 1.0
。
paddingEnabled : 布尔 |
启用时,项目大小会填充 paddingRect 或根据 blurMax 自动填充。将此设置为 false
将保持项目大小不变,如果不使用模糊或阴影,或者项目已经包含足够填充以适应应用效果后的所有内容。
性能提示:项目大小应尽可能小以提高性能。
性能说明: 导致项重置大小;不要在动画期间更改此属性。
paddingRect : 矩形 |
将此设置为手动增加项目大小,使模糊和/或阴影适合。如果 paddingEnabled 启用且 paddingRect 未设置,项目会根据 blurMax 填充以适合最大模糊项。当启用阴影时,通常需要考虑 shadowHorizontalOffset 和 shadowVerticalOffset。
性能提示:项目大小应尽可能小以提高性能。
性能说明: 导致项重置大小;不要在动画期间更改此属性。
saturation : 实数 |
此属性定义源饱和度增加或减少的程度。
值的范围从 -1.0(完全饱和)到无穷大。默认情况下,属性设置为 0.0
(无变化)。
saturationEnabled : 布尔 |
启用饱和度效果。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
shadowBlur : 实数 |
此属性定义对阴影应用的多大模糊(半径)。
值的范围从 0.0(无模糊)到 1.0(完全模糊)。默认情况下,属性设置为 1.0
。完全模糊的量受 blurMax 和 blurMultiplier 影响。
性能提示:降低阴影模糊的最佳方法是将 blurMax 设置得更小(如果它不需要为项目模糊),只需记得不要在动画过程中调整 blurMax。
shadowColor : 颜色 |
此属性定义了用于渲染阴影的RGBA颜色值。在例如模拟发光效果时使用阴影时很有用。
默认情况下,属性设置为 Qt.rgba(0.0, 0.0, 0.0, 1.0)
(黑色)。
shadowEnabled : bool |
启用阴影效果。
性能说明: 导致着色器再生;不要在动画期间更改此属性。
shadowHorizontalOffset : real |
此属性定义了阴影从项目中心的水平偏移量。
值范围从 -inf 到 inf。默认情况下,属性设置为 10.0
。
注意:当将阴影位置移动到中心之外并添加 shadowBlur 时,如果您希望阴影不被裁剪,您可能还需要相应地增加 paddingRect。
shadowOpacity : real |
此属性定义了投影阴影的透明度。
值范围从 0.0(完全透明)到 1.0(完全不透明)。默认情况下,属性设置为 1.0
。
shadowScale : real |
此属性定义了阴影的缩放比例。缩放从项目的中心进行。
值范围从 0 到 inf。默认情况下,属性设置为 1.0
。
注意:当增加 shadowScale 时,您可能还需要相应地增加 paddingRect 以避免阴影被裁剪。
shadowVerticalOffset : real |
此属性定义了阴影从项目中心的垂直偏移量。
值范围从 -inf 到 inf。默认情况下,属性设置为 10.0
。
注意:当将阴影位置移动到中心之外并添加 shadowBlur 时,如果您希望阴影不被裁剪,您可能还需要相应地增加 paddingRect。
source : var |
效果的源项目。这不一定是 ShaderEffectSource 或设置了 layer.enabled
为 true
,因为 QuickMultiEffect 将在内部生成一个 ShaderEffectSource 作为纹理源。
在某些 Qt 许可证下可用。
了解更多信息。