ThresholdMask QML Type
用另一个项目屏蔽源项目,并应用阈值。更多
| Import Statement: | import Qt5Compat.GraphicalEffects |
| Since: | QtGraphicalEffects 1.0 |
| Inherits: |
属性
- cached : bool
- maskSource : variant
- source : variant
- spread : real
- threshold : real
详细说明
注意: MultiEffect 组件提供了具有一定性能优势的遮罩效果。对于新代码,应考虑将其作为使用 Qt XMLGraphical Effects 的替代方案。
遮罩行为可通过遮罩像素的threshold 值进行控制。
| 来源 | 遮罩源 | 应用的效果 |
|---|---|---|
|
|
|
示例
下面的示例展示了如何应用效果。
import QtQuick import Qt5Compat.GraphicalEffects Item { width: 300 height: 300 Image { id: background anchors.fill: parent source: "images/checker.png" smooth: true fillMode: Image.Tile } Image { id: bug source: "images/bug.jpg" sourceSize: Qt.size(parent.width, parent.height) smooth: true visible: false } Image { id: mask source: "images/fog.png" sourceSize: Qt.size(parent.width, parent.height) smooth: true visible: false } ThresholdMask { anchors.fill: bug source: bug maskSource: mask threshold: 0.4 spread: 0.2 } }
属性文档
cached : bool
此属性允许缓存效果输出像素,以提高渲染性能。
每次更改源或效果属性时,都必须更新缓存中的像素。由于需要额外的内存缓冲区来存储效果输出,因此会增加内存消耗。
建议在动画源或特效属性时禁用缓存。
默认情况下,该属性设置为false 。
maskSource : variant
此属性定义了将用作遮罩的项目。遮罩项会被渲染到中间像素缓冲区,渲染结果中的 alpha 值将用于确定源项在显示屏中的像素可见度。
| 原始 | 遮罩 | 应用的效果 |
|---|---|---|
|
|
|
注: 不支持让效果包含自身,例如将 maskSource 设置为效果的父项。
source : variant
该属性定义了要屏蔽的源项目。
注意: 不支持让效果包含自身,例如将源设置为效果的父项。
spread : real
该属性定义threshold alpha 值附近的遮罩边缘的平滑度。将扩散值设置为 0.0 时,通常会使用指定阈值的遮罩。设置较高的扩散值,可通过在透明遮罩像素与不透明遮罩像素之间添加内插值,来柔化从透明遮罩像素向不透明遮罩像素的过渡。
该值范围从 0.0(锐利的屏蔽边缘)到 1.0(平滑的屏蔽边缘)。默认情况下,该属性设置为0.0 。
threshold : real
此属性定义了屏蔽像素的阈值。Alpha 值低于此属性的屏蔽像素将用于完全屏蔽源项目中的相应像素。而具有较高 alpha 值的屏蔽像素则用于将源项目的字母分隔到显示屏上。
数值范围从 0.0(alpha 值 0)到 1.0(alpha 值 255)。默认情况下,该属性设置为0.0 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.








