LevelAdjust
ImportStatement: import QtGraphicalEffects 1.0
Since: QtGraphicalEffects 1.0
Inherits: Item
Properties
cached :bool
gamma :variant
maximumInput: color
maximumOutput: color
minimumInput: color
minimumOutput: color
source :variant
DetailedDescription
这个影响调节源组件的每个色彩通道。源组件的对比度能被调节,色彩平衡能被改变。
源 | 效果 |
---|---|
|
|
示例代码:
importQtQuick 2.0
importQtGraphicalEffects 1.0
Item {
width: 300
height: 300
Image {
id: butterfly
source:"images/butterfly.png"
sourceSize: Qt.size(parent.width,parent.height)
smooth: true
visible: false
}
LevelAdjust {
anchors.fill: butterfly
source: butterfly
minimumOutput: "#00ffffff"
maximumOutput: "#ff000000"
}
}
PropertyDocumentation
cached :bool
是否缓冲影响输出,提高渲染性能但消耗更多内存。每当源或影响属性发生变化,缓冲都会更新。当源或影响属性为动画时,推荐关闭缓冲。默认为假。
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)(不变)。
Gamma的影响 | ||
---|---|---|
|
|
|
gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 0.4, 2.0) | gamma: Qt.vector3d(1.0, 0.1, 4.0) |
minimumInput: #000000 | minimumInput: #000000 | minimumInput: #000000 |
maximumInput: #ffffff | maximumInput: #ffffff | maximumInput: #ffffff |
minimumOutput: #000000 | minimumOutput: #000000 | minimumOutput: #000000 |
maximumOutput: #ffffff | maximumOutput: #ffffff | maximumOutput: #ffffff |
像素颜色通道的亮度曲线 | ||
---|---|---|
|
|
|
X-axis: 像素原始亮度 | ||
Y-axis: 被影响的色彩通道亮度 |
maximumInput: color
每个色彩通道的最大输入值。它设置白点。每个色彩通道所有比设置值高的色彩,都被改变成白色。减少它使亮的区域更亮。
值的范围是"#ffffff"到"000000"。默认时,这个属性被设置成"#ffffffff"(不改变)。
注意:前2个ff是红色通道,接着2个ff是绿色通道,最后2个ff是蓝色通道。每个通道单独作用于相应的颜色。另外,示例的图片,译者认为有问题,作了修正,但不保证正确。读者具体使用时,根据试验结果确认影响。当前,译者也会在后期的试验中,进一步修正本文档。
maximumInput的影响 | ||
---|---|---|
|
|
|
maximumInput: #FFFFFFFF | maximumInput: #FFFFFF80 | maximumInput: #FFFFFF30 |
minimumInput: #000000 | minimumInput: #000000 | minimumInput: #000000 |
minimumOutput: #000000 | minimumOutput: #000000 | minimumOutput: #000000 |
maximumOutput: #ffffff | maximumOutput: #ffffff | maximumOutput: #ffffff |
gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 1.0, 1.0) |
像素颜色通道的亮度曲线 | ||
---|---|---|
|
|
|
X-axis: 像素原始亮度 | ||
Y-axis: 被影响的色彩通道亮度 |
maximumOutput: color
每个色彩通道输出最大值。减少这个值使亮的区域变暗,降低对比度。
maximumOutput的影响 | ||
---|---|---|
|
|
|
maximumOutput: #FFFFFFFF | maximumOutput: #FFFFFF80 | maximumOutput: #FFFFFF30 |
minimumInput: #000000 | minimumInput: #000000 | minimumInput: #000000 |
maximumInput: #ffffff | maximumInput: #ffffff | maximumInput: #ffffff |
minimumOutput: #000000 | minimumOutput: #000000 | minimumOutput: #000000 |
gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 1.0, 1.0) |
像素颜色通道的亮度曲线 | ||
---|---|---|
|
|
|
X-axis: 像素原始亮度 | ||
Y-axis: 被影响的色彩通道亮度 |
minimumInput: color
每个像素通道输入最小值。它设置黑点。所以比该值低的输入,都渲染成黑色(每色彩通道)。提高这个值让暗区更暗。
值在"#000000"到"#ffffff"之间,默认为"#000000"(不变)。
minimumInput的影响 | ||
---|---|---|
|
|
|
minimumInput: #00000000 | minimumInput: #00000040 | minimumInput: #00000070 |
maximumInput: #ffffff | maximumInput: #ffffff | maximumInput: #ffffff |
minimumOutput: #000000 | minimumOutput: #000000 | minimumOutput: #000000 |
maximumOutput: #ffffff | maximumOutput: #ffffff | maximumOutput: #ffffff |
gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 1.0, 1.0) |
像素颜色通道的亮度曲线 | ||
---|---|---|
|
|
|
X-axis: 像素原始亮度 | ||
Y-axis: 被影响的色彩通道亮度 |
minimumOutput: color
每个色彩通道的最小输出。增加这个值让暗区更亮,减少对比度。
minimumOutput的影响 | ||
---|---|---|
|
|
|
minimumOutput: #00000000 | minimumOutput: #00000070 | minimumOutput: #000000A0 |
minimumInput: #000000 | minimumInput: #000000 | minimumInput: #000000 |
maximumInput: #ffffff | maximumInput: #ffffff | maximumInput: #ffffff |
maximumOutput: #ffffff | maximumOutput: #ffffff | maximumOutput: #ffffff |
gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 1.0, 1.0) | gamma: Qt.vector3d(1.0, 1.0, 1.0) |
像素颜色通道的亮度曲线 | ||
---|---|---|
|
|
|
X-axis: 像素原始亮度 | ||
Y-axis: 被影响的色彩通道亮度 |
source :variant
用来影响的源。注意它不支持影响自身,所以不能设置父到source上。