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