Тип QML DirectionalBlur
Применяет эффект размытия к указанному направлению. Подробнее...
| Оператор импорта: | import QtGraphicalEffects 1.12 |
| С момента: | 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
}
} Документация по свойствам
angle : real
Это свойство определяет направление размытия. Размытие применяется к обеим сторонам каждого пикселя, поэтому установка направления в 0 и 180 даёт одинаковый результат.
Значение изменяется от -180.0 до 180.0. По умолчанию свойство установлено в 0.0.
| Примеры вывода с разными значениями угла | ||
|---|---|---|
| angle: 0.0 | angle: 45.0 | angle: 90.0 |
| samples: 24 | samples: 24 | samples: 24 |
| length: 32 | length: 32 | length: 32 |
cached : bool
Это свойство позволяет кэшировать выходные пиксели эффекта для повышения производительности рендеринга.
При каждом изменении источника или свойств эффекта пиксели в кэше должны быть обновлены. Потребление памяти увеличивается, поскольку требуется дополнительный буфер памяти для хранения выходных данных эффекта.
Рекомендуется отключать кэш, когда источник или свойства эффекта анимированы.
По умолчанию свойство установлено в false.
length : real
Это свойство определяет воспринимаемое количество перемещения для каждого пикселя. Перемещение делится равномерно на обе стороны каждого пикселя.
Качество размытия зависит от свойства samples. Если значение length велико, для сохранения качества изображения на высоком уровне требуется большее количество выборок.
Значение изменяется от 0.0 до бесконечности. По умолчанию свойство установлено в 0.0 (без размытия).
| Примеры вывода с разными значениями length | ||
|---|---|---|
| length: 0.0 | length: 32.0 | length: 48.0 |
| samples: 24 | samples: 24 | samples: 24 |
| angle: 0 | angle: 0 | angle: 0 |
samples : int
Это свойство определяет количество выборок на пиксель при вычислении размытия. Большее значение обеспечивает более высокое качество, но замедляет рендеринг.
Это свойство не предназначено для анимации. Изменение этого свойства может привести к перекомпиляции базовых шейдеров OpenGL.
Допустимые значения от 0 до бесконечности (практический максимум зависит от графического процессора). По умолчанию свойство установлено в 0 (без выборок).
source : variant
Это свойство определяет исходный элемент, который будет размыт.
Примечание: Не поддерживается включение эффекта в сам себя, например, установкой source в родительский элемент эффекта.
transparentBorder : bool
Это свойство определяет поведение размытия у краёв элемента, где размытие пикселя зависит от пикселей за пределами границ источника.
Если свойство установлено в 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.12/qml-qtgraphicaleffects-directionalblur.html