Spec-Zone.ru › Qt 5.13

Тип QML InnerShadow

Создаёт цветной и размытый оттенок внутри источника. Подробнее...

Оператор импорта: import QtGraphicalEffects 1.13
С тех пор: QtGraphicalEffects 1.0
Наследует:

Элемент

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

Свойства

  • cached : bool
  • цвет : цвет
  • быстрый : bool
  • горизонтальноеСмещение : real
  • радиус : real
  • образцы : int
  • источник : variant
  • распространение : real
  • вертикальноеСмещение : real

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

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

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

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

Пример

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

import QtQuick 2.12
import QtGraphicalEffects 1.12

Item {
    width: 300
    height: 300

    Rectangle {
        anchors.fill: parent
    }

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

    InnerShadow {
        anchors.fill: butterfly
        radius: 8.0
        samples: 16
        horizontalOffset: -3
        verticalOffset: 3
        color: "#b0000000"
        source: butterfly
    }
}

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

cached : bool

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

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

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

цвет : цвет

Это свойство определяет значение цвета RGBA, используемое для оттенка.

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

Примеры выходных данных с разными значениями цвета

цвет: #000000 цвет: #ffffff цвет: #ff0000
радиус: 16 радиус: 16 радиус: 16
образцы: 24 образцы: 24 образцы: 24
горизонтальноеСмещение: 0 горизонтальноеСмещение: 0 горизонтальноеСмещение: 0
вертикальноеСмещение: 0 вертикальноеСмещение: 0 вертикальноеСмещение: 0
распространение: 0.2 распространение: 0.2 распространение: 0.2

быстрый : bool

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

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

Примеры выходных данных с разными значениями быстрого режима

быстрый: false быстрый: true
радиус: 16 радиус: 16
образцы: 24 образцы: 24
цвет: #000000 цвет: #000000
горизонтальноеСмещение: 0 горизонтальноеСмещение: 0
вертикальноеСмещение: 0 вертикальноеСмещение: 0
распространение: 0.2 распространение: 0.2

горизонтальноеСмещение : real

Свойства горизонтальноеСмещение и вертикальноеСмещение определяют смещение для рендерируемого оттенка по отношению к положению элемента InnerShadow. Часто элемент InnerShadow закрепляется таким образом, чтобы заполнить элемент-источник. В этом случае, если свойства горизонтальноеСмещение и вертикальноеСмещение установлены в 0, оттенок рендерится полностью внутри элемента-источника. Изменяя свойства смещения, оттенок можно позиционировать относительно элемента-источника.

Значения варьируются от -бесконечности до бесконечности. По умолчанию свойства установлены в 0.

Примеры выходных данных с разными значениями горизонтальногоСмещения

горизонтальноеСмещение: -20 горизонтальноеСмещение: 0 горизонтальноеСмещение: 20
радиус: 16 радиус: 16 радиус: 16
образцы: 24 образцы: 24 образцы: 24
цвет: #000000 цвет: #000000 цвет: #000000
вертикальноеСмещение: 0 вертикальноеСмещение: 0 вертикальноеСмещение: 0
распространение: 0 распространение: 0 распространение: 0

радиус : real

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

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

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

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

радиус: 0 радиус: 6 радиус: 12
samples: 24 samples: 24 samples: 24
цвет: #000000 цвет: #000000 цвет: #000000
горизонтальныйСмещение: 0 горизонтальныйСмещение: 0 горизонтальныйСмещение: 0
вертикальноеСмещение: 0 вертикальноеСмещение: 0 вертикальноеСмещение: 0
распространение: 0 распространение: 0 распространение: 0

samples : int

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

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

Значение изменяется от 0 до 32. По умолчанию свойство установлено в 0.

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

Если свойство fast установлено в true, это свойство не оказывает влияния.

source : variant

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

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

spread : real

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

Значение изменяется от 0,0 до 1,0. По умолчанию свойство установлено в 0.5.

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

spread: 0,0 spread: 0,3 spread: 0,5
радиус: 16 радиус: 16 радиус: 16
samples: 24 samples: 24 samples: 24
цвет: #000000 цвет: #000000 цвет: #000000
горизонтальныйСмещение: 0 горизонтальныйСмещение: 0 горизонтальныйСмещение: 0
вертикальноеСмещение: 0 вертикальноеСмещение: 0 вертикальноеСмещение: 0

verticalOffset : real

Свойства horizontalOffset и verticalOffset определяют смещение отрисованной тени по сравнению с положением элемента InnerShadow. Часто элемент InnerShadow закреплен таким образом, что заполняет элемент-источник. В этом случае, если свойства horizontalOffset и verticalOffset установлены в 0, тень отрисовывается полностью внутри элемента-источника. Изменяя свойства смещения, тень можно расположить относительно элемента-источника.

Значения изменяются от -∞ до +∞. По умолчанию свойства установлены в 0.

Примеры вывода с различными значениями горизонтальногоСмещения

горизонтальноеСмещение: -20 горизонтальноеСмещение: 0 горизонтальноеСмещение: 20
радиус: 16 радиус: 16 радиус: 16
samples: 24 samples: 24 samples: 24
цвет: #000000 цвет: #000000 цвет: #000000
вертикальноеСмещение: 0 вертикальноеСмещение: 0 вертикальноеСмещение: 0
распространение: 0 распространение: 0 распространение: 0

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

Spec-Zone.ru

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