ThresholdMask QML 类型

将源项与另一个项蒙版并应用阈值值。 更多...

导入语句import Qt5Compat.GraphicalEffects
QtGraphicalEffects 1.0
继承

Item

属性

详细描述

可以使用蒙版的 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

此属性定义了将要被蒙版的源项。

注意:不支持让效果包含自身,例如,通过设置 source 为效果的父元素。


spread : real

该属性定义了阈值α值附近掩码边缘的平滑度。将传播设置为0.0使用正常掩码和指定的阈值。设置更高的传播值将通过在它们之间添加插值值,使由透明掩码像素到不透明掩码像素的过渡更加柔和。

值范围从0.0(锐利的掩码边缘)到1.0(平滑的掩码边缘)。默认情况下,该属性设置为0.0

不同传播值输出示例

spread: 0.0spread: 0.2spread: 0.8
阈值: 0.4阈值: 0.4阈值: 0.4

阈值 : 实数

该属性定义了掩码像素的阈值。具有低于此属性值的掩码像素用于完全遮蔽源项中的对应像素。具有更高α值的掩码像素用于将源项与显示进行混合。

值范围从0.0(α值0)到1.0(α值255)。默认情况下,该属性设置为0.0

不同阈值值的输出示例

threshold: 0.0threshold: 0.5threshold: 0.7
传播: 0.2传播: 0.2传播: 0.2

© 2024Qt公司有限公司。本文档中的文档贡献归其各自的所有者所有。本文档是根据自由软件基金会出版的GNU自由文档许可证版本1.3的条款许可的。Qt及其相关标志是芬兰以及全世界其他国家的Qt公司商标。所有其他商标均归其所有者所有。