Spec-Zone.ru › Qt 5.11

Тип QML MaskedBlur

Применяет эффект размытия с изменяющейся интенсивностью. Подробнее...

Заявление об импорте: import QtGraphicalEffects 1.0
С момента: QtGraphicalEffects 1.0
Наследует:

Элемент

  • Список всех членов, включая унаследованные

Свойства

  • cached : псевдоним
  • maskSource : псевдоним
  • radius : псевдоним
  • samples : псевдоним
  • source : псевдоним

Подробное описание

MaskedBlur эффект смягчает изображение, размывая его. Интенсивность размытия можно контролировать для каждого пикселя с помощью maskSource, чтобы некоторые части источника были размыты сильнее, чем другие.

Выполнение размытия в реальном времени является дорогостоящей операцией. Полностью-экранное гауссово размытие даже с умеренным количеством выборок будет работать только со скоростью 60 кадров в секунду на графическом оборудовании высокого класса.

Источник MaskSource Применяемый эффект

Примечание: Этот эффект доступен при работе с OpenGL.

Пример

Следующий пример демонстрирует, как применить эффект.

import QtQuick 2.0
import QtGraphicalEffects 1.0

Item {
    width: 300
    height: 300

    Image {
        id: bug
        source: "images/bug.jpg"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }

    LinearGradient {
        id: mask
        anchors.fill: bug
        gradient: Gradient {
            GradientStop { position: 0.2; color: "#ffffffff" }
            GradientStop { position: 0.5; color: "#00ffffff" }
        }
        start: Qt.point(0, 0)
        end: Qt.point(300, 0)
        visible: false
    }

    MaskedBlur {
        anchors.fill: bug
        source: bug
        maskSource: mask
        radius: 16
        samples: 24
    }
}

Документация по свойствам

cached : псевдоним

Это свойство позволяет кэшировать выходные пиксели эффекта для повышения производительности рендеринга. Каждый раз, когда изменяются свойства источника или эффекта, пиксели в кэше должны быть обновлены. Потребление памяти увеличивается, так как требуется дополнительный буфер памяти для хранения выходных данных эффекта.

Рекомендуется отключить кэширование, когда свойства источника или эффекта анимируются.

По умолчанию свойство установлено в false.

maskSource : псевдоним

Это свойство определяет элемент, контролирующий окончательную интенсивность размытия. Значение канала альфа пикселей из maskSource определяет фактический радиус размытия, который будет использован для размытия соответствующего пикселя источника.

Непрозрачные пиксели maskSource создают размытие со значением radius, в то время как прозрачные пиксели полностью подавляют размытие. Полупрозрачные пиксели maskSource создают размытие с радиусом, интерполированным в соответствии с уровнем прозрачности пикселя.

radius : псевдоним

Это свойство определяет расстояние соседних пикселей, которые влияют на размытие отдельного пикселя. Более большой радиус увеличивает эффект размытия.

В зависимости от значения радиуса, значение samples должно быть достаточно большим, чтобы гарантировать визуальное качество.

Значение изменяется от 0,0 (нет размытия) до бесконечности. По умолчанию свойство установлено в 0.0 (нет размытия).

Примеры вывода с различными значениями radius

radius: 0 radius: 8 radius: 16
samples: 25 samples: 25 samples: 25

samples : псевдоним

Это свойство определяет количество выборок, взятых на пиксель при вычислении размытия. Более высокое значение обеспечивает лучшее качество, но медленнее рендерится.

В идеале это значение должно быть в два раза больше, чем наибольшее необходимое значение радиуса плюс 1, например, если радиус анимируется между 0,0 и 4,0, samples следует установить в 9.

По умолчанию свойство установлено в 9.

Это свойство не предназначено для анимации. Изменение этого свойства может привести к перекомпиляции базовых шейдеров OpenGL.

source : псевдоним

Это свойство определяет элемент-источник, который будет размыт.

Примечание: Не поддерживается включение эффекта в себя, например, путем установки source в родительский элемент эффекта.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtgraphicaleffects-maskedblur.html

Spec-Zone.ru

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