Тип QML ThresholdMask
Маскирует исходный элемент другим элементом и применяет значение порога. Подробнее...
| Заявление импорта: | import QtGraphicalEffects 1.14 |
| С момента: | QtGraphicalEffects 1.0 |
| Наследует: |
Свойства
- cached : bool
- maskSource : variant
- source : variant
- spread : real
- threshold : real
Подробное описание
Поведение маскирования можно контролировать с помощью значения threshold для пикселей маски.
| Источник | MaskSource | Применённый эффект |
|---|---|---|
Примечание: Этот эффект доступен при работе с OpenGL.
Пример
Следующий пример демонстрирует, как применить эффект.
import QtQuick 2.12
import QtGraphicalEffects 1.12
Item {
width: 300
height: 300
Image {
id: background
anchors.fill: parent
source: "images/checker.png"
smooth: true
fillMode: Image.Tile
}
Image {
id: bug
source: "images/bug.jpg"
sourceSize: Qt.size(parent.width, parent.height)
smooth: true
visible: false
}
Image {
id: mask
source: "images/fog.png"
sourceSize: Qt.size(parent.width, parent.height)
smooth: true
visible: false
}
ThresholdMask {
anchors.fill: bug
source: bug
maskSource: mask
threshold: 0.4
spread: 0.2
}
} Документация по свойствам
cached : bool
Это свойство позволяет кэшировать пиксели вывода эффекта для повышения производительности рендеринга.
Каждый раз, когда изменяются свойства source или effect, пиксели в кэше должны быть обновлены. Потребление памяти увеличивается, так как для хранения вывода эффекта требуется дополнительный буфер памяти.
Рекомендуется отключить кэш, когда свойства source или effect анимированы.
По умолчанию свойство установлено в false.
maskSource : variant
Это свойство определяет элемент, который будет использоваться в качестве маски. Элемент маски рендерится в промежуточный буфер пикселей, а значения альфа из результата используются для определения видимости пикселей исходного элемента на дисплее.
| Оригинал | Маска | Применённый эффект |
|---|---|---|
Примечание: Не допускается включение эффекта в сам себя, например, установкой maskSource в родительский элемент эффекта.
source : variant
Это свойство определяет исходный элемент, который будет замаскирован.
Примечание: Не допускается включение эффекта в сам себя, например, установкой source в родительский элемент эффекта.
spread : real
Это свойство определяет плавность краёв маски вблизи значения альфа threshold. Установка spread в 0.0 использует маску обычно с указанным порогом. Установка более высоких значений spread смягчает переход от прозрачных пикселей маски к непрозрачным пикселям маски, добавляя интерполированные значения между ними.
Значение изменяется от 0.0 (резкий край маски) до 1.0 (плавный край маски). По умолчанию свойство установлено в 0.0.
| Примеры вывода с различными значениями spread | ||
|---|---|---|
|
||
| spread: 0.0 | spread: 0.2 | spread: 0.8 |
| threshold: 0.4 | threshold: 0.4 | threshold: 0.4 |
threshold : real
Это свойство определяет пороговое значение для пикселей маски. Пиксели маски, имеющие значение альфа ниже этого свойства, используются для полного маскирования соответствующих пикселей исходного элемента. Пиксели маски, имеющие более высокое значение альфа, используются для альфа-смешения исходного элемента с дисплеем.
Значение изменяется от 0.0 (значение альфа 0) до 1.0 (значение альфа 255). По умолчанию свойство установлено в 0.0.
| Примеры вывода с различными значениями порога | ||
|---|---|---|
| threshold: 0.0 | threshold: 0.5 | threshold: 0.7 |
| spread: 0.2 | spread: 0.2 | spread: 0.2 |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qml-qtgraphicaleffects-thresholdmask.html
