Тип QML LevelAdjust
Регулирует уровни цвета в цветовом пространстве RGBA. Подробнее...
| Заявление импорта: | import QtGraphicalEffects 1.15 |
| С момента: | 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.15/qml-qtgraphicaleffects-leveladjust.html