Тип QML ZoomBlur
Применяет эффект размытия в направлении центра источника элементов. Подробнее...
| Оператор импорта: | import QtGraphicalEffects 1.13 |
| С момента: | QtGraphicalEffects 1.0 |
| Наследует: |
Свойства
- cached : bool
- horizontalOffset : real
- length : real
- samples : int
- source : variant
- transparentBorder : bool
- verticalOffset : real
Подробное описание
Эффект создаёт впечатление, что элемент источника перемещается к центральной точке в направлении оси Z или что камера быстро приближается/отдаляется. Другие доступные эффекты размытия движения — DirectionalBlur и RadialBlur.
| Источник | Применённый эффект |
|---|---|
Примечание: Этот эффект доступен при работе с OpenGL.
Пример
Следующий пример демонстрирует применение эффекта.
import QtQuick 2.12
import QtGraphicalEffects 1.12
Item {
width: 300
height: 300
Image {
id: butterfly
source: "images/bug.jpg"
sourceSize: Qt.size(parent.width, parent.height)
smooth: true
visible: false
}
ZoomBlur {
anchors.fill: butterfly
source: butterfly
samples: 24
length: 48
}
} Документация по свойствам
cached : bool
Это свойство позволяет кэшировать пиксели выходного изображения эффекта, чтобы повысить производительность рендеринга.
Каждый раз при изменении источника или свойств эффекта пиксели в кэше должны быть обновлены. Потребление памяти увеличивается, так как требуется дополнительный буфер памяти для хранения выходных данных эффекта.
Рекомендуется отключить кэширование при анимации источника или свойств эффекта.
По умолчанию свойство установлено в false.
horizontalOffset : real
Эти свойства определяют смещение в пикселях центральной точки направления размытия.
Значения лежат в диапазоне от -бесконечности до бесконечности. По умолчанию эти свойства установлены в 0.
| Примеры вывода с разными значениями horizontalOffset | ||
|---|---|---|
| horizontalOffset: 100.0 | horizontalOffset: 0.0 | horizontalOffset: -100.0 |
| samples: 24 | samples: 24 | samples: 24 |
| length: 32 | length: 32 | length: 32 |
| verticalOffset: 0 | verticalOffset: 0 | verticalOffset: 0 |
length : real
Это свойство определяет максимальное воспринимаемое количество перемещения для каждого пикселя. Величина меньше вблизи центра и достигает указанного значения на краях.
Качество размытия зависит от свойства samples. Если значение length велико, для сохранения визуального качества требуется больше образцов.
Значение варьируется от 0.0 до бесконечности. По умолчанию свойство установлено в 0.0 (нет размытия).
| Примеры вывода с разными значениями length | ||
|---|---|---|
| length: 0.0 | length: 32.0 | length: 48.0 |
| samples: 24 | samples: 24 | samples: 24 |
| horizontalOffset: 0 | horizontalOffset: 0 | horizontalOffset: 0 |
| verticalOffset: 0 | verticalOffset: 0 | verticalOffset: 0 |
samples : int
Это свойство определяет количество образцов, взятых на пиксель при вычислении размытия. Большее значение обеспечивает лучшее качество, но замедляет рендеринг.
Это свойство не предназначено для анимации. Изменение этого свойства может привести к перекомпиляции базовых шейдеров OpenGL.
Допустимые значения находятся в диапазоне от 0 до бесконечности (практический максимум зависит от видеокарты). По умолчанию свойство установлено в 0 (без образцов).
source : variant
Это свойство определяет элемент-источник, который будет размыт.
Примечание: Не допускается включение эффекта в сам себя, например, путем задания source родительскому элементу эффекта.
transparentBorder : bool
Это свойство определяет поведение размытия вблизи краёв элемента, где размытие пикселей зависит от пикселей за пределами краёв источника.
Если свойство установлено в true, пиксели за пределами источника интерпретируются как прозрачные, что аналогично расширению clamp-to-border OpenGL. Размытие немного расширяется за пределы области элемента эффекта.
Если свойство установлено в false, пиксели за пределами источника интерпретируются как имеющие тот же цвет, что и пиксели на краю элемента, что аналогично поведению clamp-to-edge OpenGL. Размытие не выходит за пределы области элемента эффекта.
По умолчанию свойство установлено в false.
verticalOffset : real
Эти свойства определяют смещение в пикселях центральной точки направления размытия.
Значения лежат в диапазоне от -бесконечности до бесконечности. По умолчанию эти свойства установлены в 0.
| Примеры вывода с разными значениями horizontalOffset | ||
|---|---|---|
| horizontalOffset: 100.0 | horizontalOffset: 0.0 | horizontalOffset: -100.0 |
| samples: 24 | samples: 24 | samples: 24 |
| length: 32 | length: 32 | length: 32 |
| verticalOffset: 0 | verticalOffset: 0 | verticalOffset: 0 |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtgraphicaleffects-zoomblur.html