Spec-Zone.ru › Qt 5.11

Тип QML InnerShadow

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

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

Item

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

Свойства

  • cached : bool
  • color : цвет
  • fast : bool
  • horizontalOffset : вещественное число
  • radius : вещественное число
  • samples : целое число
  • source : вариант
  • spread : вещественное число
  • verticalOffset : вещественное число

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

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

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

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

Пример

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

import QtQuick 2.0
import QtGraphicalEffects 1.0

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.

color : color

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

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

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

color: #000000 color: #ffffff color: #ff0000
radius: 16 radius: 16 radius: 16
samples: 24 samples: 24 samples: 24
horizontalOffset: 0 horizontalOffset: 0 horizontalOffset: 0
verticalOffset: 0 verticalOffset: 0 verticalOffset: 0
spread: 0.2 spread: 0.2 spread: 0.2

fast : bool

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

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

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

fast: false fast: true
radius: 16 radius: 16
samples: 24 samples: 24
color: #000000 color: #000000
horizontalOffset: 0 horizontalOffset: 0
verticalOffset: 0 verticalOffset: 0
spread: 0.2 spread: 0.2

horizontalOffset : real

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

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

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

horizontalOffset: -20 horizontalOffset: 0 horizontalOffset: 20
radius: 16 radius: 16 radius: 16
samples: 24 samples: 24 samples: 24
color: #000000 color: #000000 color: #000000
verticalOffset: 0 verticalOffset: 0 verticalOffset: 0
spread: 0 spread: 0 spread: 0

radius : real

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

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

Значение изменяется от 0,0 (без размытия) до inf. По умолчанию свойство установлено в 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/archives/qt-5.11/qml-qtgraphicaleffects-innershadow.html

Spec-Zone.ru

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