Spec-Zone.ru › Qt 5.13

Тип 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API