1、概述
LevelAdjust 是 QML(Qt Modeling Language)中的一个类型,用于调整源组件的每个色彩通道的颜色级别。通过 LevelAdjust,可以实现对源项目对比度的调节和色彩平衡的改变。LevelAdjust 类型继承自 Item,并提供了多个属性来精确控制色彩调整的效果。
2、重要属性
- cached:bool 类型,用于指示是否缓存效果输出像素以提高渲染性能。当源或效果属性发生变化时,必须更新缓存中的像素。使用缓存会增加内存消耗,因此在源属性或效果属性设置动画时建议禁用缓存。默认为 false。
- gamma:variant 类型,定义了每个像素颜色通道值的变化因子。变化依据的等式为:result.rgb = pow(original.rgb, 1.0 / gamma.rgb)。gamma 值在 QtVector3d(1.0, 1.0, 1.0) 以下会使图像变暗,而在 QtVector3d(1.0, 1.0, 1.0) 以上则会使图像变亮。值的范围从 QtVector3d(0.0, 0.0, 0.0)(最暗)到 inf(最亮)。默认为 QtVector3d(1.0, 1.0, 1.0)(无更改)。
- maximumInput:color 类型,设置每个颜色通道的最大输入级别,即白点。所有值高于此属性的像素都渲染为白色。减小该值会使灯光区域变亮。值的范围从 “#ffffffff” 到 “#00000000”。默认为 “#ffffffff”(无更改)。
- maximumOutput:color 类型,设置每个颜色通道的最大输出级别。减小该值会使灯光区域变暗,从而降低对比度。值的范围同样从 “#ffffffff” 到 “#00000000”。默认为 “#ffffffff”(无更改)。
- minimumInput:color 类型,设置每个颜色通道的最小输入级别,即黑点。所有值低于此属性的像素都渲染为黑色。增加该值会使黑暗区域变暗。值的范围从 “#ffffffff” 到 “#00000000”。默认为 “#ffffffff”(无更改)。
- minimumOutput:color 类型,设置每个颜色通道的最小输出级别。增加该值会使黑暗区域变亮,从而降低对比度。值的范围同样从 “#ffffffff” 到 “#00000000”。默认为 “#ffffffff”(无更改)。
- source:variant 类型,为效果提供源像素的源项。注意,不支持让效果包含自身。
Window {width: 480; height: 240visible: trueItem {width: 300height: 300Image {id: butterflysource: "res/1.jpg"sourceSize: Qt.size(parent.width, parent.height)smooth: truevisible: false}LevelAdjust {anchors.fill: butterflysource: butterflyminimumOutput: "#00ffffff"maximumOutput: "#ff000000"}}
}
觉得有帮助的话,打赏一下呗。。
需要商务合作(定制程序)的欢迎私信!!