Тип QML ThresholdMask
Маскирует исходный элемент другим элементом и применяет значение порога. Подробнее...
| Заявление об импорте: | import QtGraphicalEffects 1.13 |
| С тех пор: | 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
Это свойство позволяет кэшировать пиксели вывода эффекта для повышения производительности рендеринга.
Каждый раз, когда изменяются свойства источника или эффекта, пиксели в кэше должны быть обновлены. Потребление памяти увеличивается, так как для хранения вывода эффекта требуется дополнительный буфер памяти.
Рекомендуется отключить кэш при анимации свойств источника или эффекта.
По умолчанию свойство установлено в 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
Это свойство определяет значение порога для пикселей маски. Пиксели маски, которые имеют значение альфа ниже этого свойства, используются для полного маскирования соответствующих пикселей из исходного элемента. Пиксели маски с более высоким значением альфа используются для alpha-смешивания исходного элемента с дисплеем.
Значение варьируется от 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.13/qml-qtgraphicaleffects-thresholdmask.html
