InnerShadow
ImportStatement: import QtGraphicalEffects 1.0
Since: QtGraphicalEffects 1.0
Inherits: Item
Properties
cached :bool
color :color
fast : bool
horizontalOffset: real
radius : real
samples :int
source :variant
spread :real
verticalOffset: real
DetailedDescription
默认的影响产生高质量的内部阴影图片,因此渲染速度可能不是最高的。阴影边缘软化越强烈,渲染速度降低的越大。对于要求快速渲染,而不需要最高质量的视觉效果,设置fast属性为真。
源 | 影响 |
---|---|
|
|
实例代码:
importQtQuick 2.0
importQtGraphicalEffects 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
}
}
PropertyDocumentation
cached :bool
是否缓冲影响输出。缓冲会消耗更多内存。如果源或影响属性发生变化,缓冲也会更新。如果源霍影响属性是动画,推荐关闭缓冲。默认为假。
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
用于产生影响软化的模糊算法。设置为真打开快速算法,设置为加产生高质量的结果。默认为假。
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设置内部阴影的偏移位置。通常DropShadow的组件实例被锚定到源元件。所以它在源元件的位置上填充。当horizontalOffset和verticalOffset被设置成0,阴影将渲染在源图片的下面,改变horizontalOffset和verticalOffset的值可以让阴影处于源组件实例的相对位置。值在-inf到inf之间。默认为0。
水平偏移的影响 | ||
---|---|---|
|
|
|
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
半径定义了内部阴影的软化。巨大的半径让阴影显得更模糊。根据半径值设置足够的样品,才能保能视觉质量。值为0.0(无模糊)到inf。默认为0。
半径的影响 | ||
---|---|---|
|
|
|
radius: 0 | radius: 6 | radius: 12 |
samples: 24 | samples: 24 | samples: 24 |
color: #000000 | color: #000000 | color: #000000 |
horizontalOffset: 0 | horizontalOffset: 0 | horizontalOffset: 0 |
verticalOffset: 0 | verticalOffset: 0 | verticalOffset: 0 |
spread: 0 | spread: 0 | spread: 0 |
samples :int
当计算阴影边缘软化值是,每个像素取多少个样品。越大的值表示越好的视觉质量,但渲染得更慢。推荐它的值为最大半径值得两倍。例如,如果半径为0~4之间变化,样品值取8。样品值在0到32之间,默认为0。
这个属性没有计划被动画化。改变这个属性将促使OpenGL着色器被重新编译。当fast属性设置为真,这个属性不产生影响。
source :variant
用来产生内部阴影的源的组件实例。它不支持影响本身,所以不能设置父到source上。
spread :real
在源边缘附近多大尺寸的阴影颜色被强化。值在0.0到1.0之间,默认为0.5。
Spread的影响 | ||
---|---|---|
|
|
|
spread: 0.0 | spread: 0.3 | spread: 0.5 |
radius: 16 | radius: 16 | radius: 16 |
samples: 24 | samples: 24 | samples: 24 |
color: #000000 | color: #000000 | color: #000000 |
horizontalOffset: 0 | horizontalOffset: 0 | horizontalOffset: 0 |
verticalOffset: 0 | verticalOffset: 0 | verticalOffset: 0 |
verticalOffset: real
horizontalOffset和verticalOffset设置阴影的偏移位置。通常DropShadow的组件实例被锚定到源元件。所以它在源元件的位置上填充。当horizontalOffset和verticalOffset被设置成0,阴影将渲染在源图片的下面,改变horizontalOffset和verticalOffset的值可以让阴影处于源组件实例的相对位置。值在-inf到inf之间。默认为0。
英文文档上的图表和horizontalOffset是一样的,这里就不单独列出。