Тип QML LevelAdjust
Регулирует уровни цвета в цветовом пространстве RGBA. Подробнее...
| Заявление об импорте: | import QtGraphicalEffects 1.0 |
| С: | QtGraphicalEffects 1.0 |
| Наследует: |
Свойства
- cached : bool
- gamma : variant
- maximumInput : цвет
- maximumOutput : цвет
- minimumInput : цвет
- minimumOutput : цвет
- source : variant
Подробное описание
Этот эффект регулирует цвета элемента-источника отдельно для каждого цветового канала. Можно настроить контраст элемента-источника и изменить баланс цветов.
| Источник | Применённый эффект |
|---|---|
Примечание: Этот эффект доступен при работе с OpenGL.
Пример
Следующий пример демонстрирует применение эффекта.
import QtQuick 2.0
import QtGraphicalEffects 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"
}
} Документация по свойствам
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) (без изменений).
| Примеры вывода с различными значениями 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: исходная яркость пикселя | ||
| Ось Y: яркость цветового канала с применённым эффектом |
maximumInput : цвет
Это свойство определяет максимальный уровень ввода для каждого цветового канала. Оно устанавливает точку белого; все пиксели, имеющие значение выше этого свойства, отображаются как белые (по каждому цветовому каналу). Уменьшение значения осветляет светлые области.
Значение изменяется от "#ffffffff" до "#00000000". По умолчанию свойство установлено в "#ffffffff" (без изменений).
| Примеры вывода с различными значениями 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: исходная яркость пикселя | ||
| Ось Y: яркость цветового канала с применённым эффектом |
maximumOutput : цвет
Это свойство определяет максимальный уровень вывода для каждого цветового канала. Уменьшение значения затемняет светлые области, уменьшая контраст.
Значение изменяется от "#ffffffff" до "#00000000". По умолчанию свойство установлено в "#ffffffff" (без изменений).
| Примеры вывода с различными значениями 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: исходная яркость пикселя | ||
| Ось Y: яркость цветового канала с применённым эффектом |
minimumInput : цвет
Это свойство определяет минимальный уровень входного сигнала для каждого цветового канала. Оно устанавливает точку черного цвета; все пиксели с значением ниже этого свойства отображаются как чёрные (по каждому цветовому каналу). Увеличение значения затемняет тёмные области.
Значение варьируется от "#00000000" до "#ffffffff". По умолчанию свойство установлено в "#00000000" (без изменений).
| Примеры вывода с различными значениями 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: исходная яркость пикселя | ||
| Ось Y: яркость цветового канала с применённым эффектом |
minimumOutput : цвет
Это свойство определяет минимальный уровень выходного сигнала для каждого цветового канала. Увеличение значения осветляет тёмные области, уменьшая контраст.
Значение варьируется от "#00000000" до "#ffffffff". По умолчанию свойство установлено в "#00000000" (без изменений).
| Примеры вывода с различными значениями 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: исходная яркость пикселя | ||
| Ось Y: яркость цветового канала с применённым эффектом |
source : вариант
Это свойство определяет элемент-источник, который предоставляет пиксели-источники для эффекта.
Примечание: Не поддерживается включение эффекта в себя, например, установкой источника на родительский элемент эффекта.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtgraphicaleffects-leveladjust.html