着色 QML 类型

在 HSL 颜色空间中设置颜色。 更多...

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

Item

属性

详细描述

效果类似于在灰度图像上放置着色玻璃时发生的情况。着色使用色调、饱和度和亮度(HSL)颜色空间。您可以指定每个属性的所需值。您可以使用 HueSaturation 效果移动所有 HSL 值。

或者,您可以使用 ColorOverlay 效果在 RGBA 颜色空间中着色源项。

应用效果

示例

以下示例显示了如何应用此效果。

import QtQuick
import Qt5Compat.GraphicalEffects

Item {
    width: 300
    height: 300

    Image {
        id: bug
        source: "images/bug.jpg"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }

    Colorize {
        anchors.fill: bug
        source: bug
        hue: 0.0
        saturation: 0.5
        lightness: -0.2
    }
}

属性文档

cached : bool

此属性允许在缓存中缓存效果输出像素以提高渲染性能。

每次更改源或效果属性时,都必须更新缓存中的像素。因为需要额外的内存缓冲区来存储效果输出,所以内存消耗会增加。

建议当源或效果属性动画化时禁用缓存。

默认情况下,该属性设置为 false


hue : real

此属性定义用于着色源的色调值。

该值范围从 0.0 到 1.0。默认情况下,该属性设置为 0.0,产生略带红色的颜色。

允许的色调值

不同色调值的输出示例

hue: 0.2hue: 0.5hue: 0.8
饱和度: 1饱和度: 1饱和度: 1
亮度: 0亮度: 0亮度: 0

lightness : real

此属性定义源亮度值增加或减少的多少。

与色调和饱和度属性不同,亮度不设置使用值,而是移动现有的源像素亮度值。

该值范围从 -1.0(减少)到 1.0(增加)。默认情况下,该属性设置为 0.0(无变化)。

不同亮度的输出示例

lightness: -0.75lightness: 0lightness: 0.75
色调: 0色调: 0色调: 0
饱和度: 1饱和度: 1饱和度: 1

饱和度 : 实数

此属性定义了用于着色源图的饱和度值。

值范围从0.0(未饱和)到1.0(饱和)。默认情况下,属性设置为1.0(饱和)。

不同饱和度值的输出示例

饱和度: 0饱和度: 0.5饱和度: 1
色调: 0色调: 0色调: 0
亮度: 0亮度: 0亮度: 0

: 变体

此属性定义提供效果源像素的源项。

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


© 2024 The Qt Company Ltd. 本文档中包含的文档贡献是该各自所有者的版权。本提供的文档是根据Free Software Foundation发布的《GNU自由文档许可证》第1.3版的条款许可的。Qt及其相应商标是芬兰的The Qt Company Ltd.及其在世界上其他国家的商标。所有其他商标都是其各自所有者的财产。