Тип QML LevelAdjust
Регулирует уровни цвета в цветовом пространстве RGBA. Подробнее...
| Заявление импорта: | import QtGraphicalEffects 1.14 |
| С момента: | QtGraphicalEffects 1.0 |
| Наследует: |
Свойства
- cached : bool
- gamma : variant
- maximumInput : цвет
- maximumOutput : цвет
- minimumInput : цвет
- minimumOutput : цвет
- source : variant
Подробное описание
Этот эффект регулирует цвета элемента-источника по отдельности для каждого цветового канала. Можно настроить контраст элемента-источника и изменить баланс цветов.
| Источник | Примененный эффект |
|---|---|
Примечание: Этот эффект доступен при запуске с OpenGL.
Пример
Следующий пример демонстрирует, как применить эффект.
import QtQuick 2.12
import QtGraphicalEffects 1.12
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) (самый темный) до бесконечности (самый светлый). По умолчанию свойство установлено в 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/qt-5.14/qml-qtgraphicaleffects-leveladjust.html