Тип QML DirectionalBlur
Применяет эффект размытия к указанному направлению. Подробнее...
| Оператор импорта: | import QtGraphicalEffects 1.13 |
| С: | QtGraphicalEffects 1.0 |
| Наследует: |
Свойства
- угол : вещественный
- кэшированный : логический
- длина : вещественный
- образцы : целое
- источник : вариант
- прозрачнаяГраница : логический
Подробное описание
Эффект создаёт видимое впечатление, что элемент-источник движется в направлении размытия. Размытие применяется к обеим сторонам каждого пикселя, поэтому установка направления на 0 и 180 даёт одинаковый результат.
Другие доступные эффекты движения — ZoomBlur и RadialBlur.
| Источник | Применённый эффект |
|---|---|
Примечание: Этот эффект доступен при работе с 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
}
DirectionalBlur {
anchors.fill: bug
source: bug
angle: 90
length: 32
samples: 24
}
} Документация по свойствам
угол : вещественный
Это свойство определяет направление размытия. Размытие применяется к обеим сторонам каждого пикселя, поэтому установка направления на 0 и 180 даёт одинаковый результат.
Значение изменяется от -180.0 до 180.0. По умолчанию свойство установлено в 0.0.
| Примеры вывода с различными значениями угла | ||
|---|---|---|
| угол: 0.0 | угол: 45.0 | угол: 90.0 |
| образцы: 24 | образцы: 24 | образцы: 24 |
| длина: 32 | длина: 32 | длина: 32 |
кэшированный : логический
Это свойство позволяет кэшировать выходные пиксели эффекта, чтобы повысить производительность рендеринга.
Каждый раз при изменении источника или свойств эффекта пиксели в кэше должны обновляться. Потребление памяти увеличивается, так как для хранения выходных данных эффекта требуется дополнительный буфер памяти.
Рекомендуется отключить кэширование при анимации источника или свойств эффекта.
По умолчанию свойство установлено в false.
длина : вещественный
Это свойство определяет воспринимаемое количество движения для каждого пикселя. Движение распределяется равномерно по обеим сторонам каждого пикселя.
Качество размытия зависит от свойства образцы. Если значение длины большое, требуется больше образцов, чтобы сохранить высокое качество визуального отображения.
Значение изменяется от 0.0 до бесконечности. По умолчанию свойство установлено в 0.0 (без размытия).
| Примеры вывода с различными значениями длины | ||
|---|---|---|
| длина: 0.0 | длина: 32.0 | длина: 48.0 |
| образцы: 24 | образцы: 24 | образцы: 24 |
| угол: 0 | угол: 0 | угол: 0 |
образцы : целое
Это свойство определяет количество образцов, взятых на пиксель при вычислении размытия. Более высокое значение обеспечивает лучшее качество, но замедляет рендеринг.
Это свойство не предназначено для анимации. Изменение этого свойства может привести к перекомпиляции базовых шейдеров OpenGL.
Допустимые значения находятся в диапазоне от 0 до бесконечности (практический максимум зависит от графического процессора). По умолчанию свойство установлено в 0 (нет образцов).
источник : вариант
Это свойство определяет элемент-источник, который будет размыт.
Примечание: Не допускается включение эффекта в сам себя, например, установкой источника в родительский элемент эффекта.
прозрачнаяГраница : логический
Это свойство определяет поведение размытия вблизи границ элемента, где размытие пикселей зависит от пикселей за пределами границ источника.
Если свойство установлено в true, пиксели за пределами источника интерпретируются как прозрачные, что аналогично расширению OpenGL clamp-to-border. Размытие немного расширяется за пределы области элемента эффекта.
Если свойство установлено в false, пиксели за пределами источника интерпретируются как содержащие тот же цвет, что и пиксели на краю элемента, что аналогично поведению OpenGL clamp-to-edge. Размытие не расширяется за пределы области элемента эффекта.
По умолчанию свойство установлено в false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtgraphicaleffects-directionalblur.html