1、概述
HueSaturation 是 QML(Qt Modeling Language)中的一个图形效果类型,它用于在 HSL(Hue, Saturation, Lightness)色彩空间中调整源项的颜色。这个效果类型允许你改变色调(Hue)、饱和度(Saturation)和亮度(Lightness)这三个颜色属性,从而实现对图像或图形元素颜色的精细控制。HueSaturation 效果属于 QtGraphicalEffects 模块,该模块提供了一系列用于创建特殊视觉效果的 QML 类型。
2、重要属性
- cached:bool 类型。指定是否缓存输出像素以提高渲染性能。缓存会增加内存消耗,并在源或效果属性更改时更新缓存中的像素。因此,在源属性或效果属性设置动画时,建议禁用缓存。默认值为 false。
- hue:real 类型。定义要添加到源色调值的色调值。值的范围为 -1.0(减小)到 1.0(增大),默认值为 0.0(无更改)。
- lightness:real 类型。定义要添加到源亮度值的亮度值(注意,尽管属性名为 lightness,但它实际上是在源饱和度值上添加的,这可能是属性命名的一个误导,但按照 QML 的官方文档和常见用法,我们将其解释为影响亮度的效果)。值的范围为 -1.0(减小)到 1.0(增大),默认值为 0.0(无更改)。
- saturation:real 类型。定义要添加到源饱和度值的饱和值。值的范围为 -1.0(减小)到 1.0(增大),默认值为 0.0(无更改)。
- source:variant 类型。指定为效果提供源像素的源项。注意,不支持让效果包含自身,即不能将源设置为效果的父项。
Window {
width: 480; height: 240
visible: true
Item {
width: 300
height: 300
Image {
id: bug
source: "res/1.jpg"
sourceSize: Qt.size(parent.width, parent.height)
smooth: true
visible: false
}
HueSaturation {
anchors.fill: bug
source: bug
hue: -0.3
saturation: 0.5
lightness: -0.1
}
}
}
觉得有帮助的话,打赏一下呗。。
需要商务合作(定制程序)的欢迎私信!!