Тип QML LevelAdjust
Регулирует уровни цвета в цветовом пространстве RGBA. Подробнее...
| Заявление об импорте: | import QtGraphicalEffects 1.13 |
| С тех пор: | QtGraphicalEffects 1.0 |
| Наследует: |
Свойства
- cached : bool
- gamma : variant
- maximumInput : color
- maximumOutput : color
- minimumInput : color
- minimumOutput : color
- 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 : color
Это свойство определяет максимальный уровень ввода для каждого цветового канала. Устанавливает точку белого цвета; все пиксели со значением выше этого свойства рендерятся как белый (по каждому цветовому каналу). Уменьшение значения осветляет светлые области.
Значения варьируются от "#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 : color
Это свойство определяет максимальный уровень вывода для каждого цветового канала. Уменьшение значения затемняет светлые области, уменьшая контраст.
Значения варьируются от "#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.13/qml-qtgraphicaleffects-leveladjust.html