QML类型说明-DropShadow

来源:互联网 发布:淘宝商城汽车音响 编辑:程序博客网 时间:2024/06/14 16:14

DropShadow

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

transparentBorder: bool

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

    }

 

    DropShadow {

        anchors.fill: butterfly

        horizontalOffset: 3

        verticalOffset: 3

        radius: 8.0

        samples: 16

        color: "#80000000"

        source: butterfly

    }

}

 

Property Documentation

cached :bool

是否缓冲影响输出,缓冲能提高渲染执行,但消耗更多内存。每当源或影响属性变化,缓冲都会更新。如果源或影响属性是动画化的,推荐关闭缓冲。默认为假。

 

color :color

用于阴影的RGBA颜色。默认为"black"

颜色的影响  

color: #000000color: #0000ffcolor: #aa000000radius: 8radius: 8radius: 8samples: 16samples: 16samples: 16horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0verticalOffset: 20verticalOffset: 20verticalOffset: 20spread: 0spread: 0spread: 0


fast : bool

是否选择模糊算法,以使阴影有软化的效果。设置为真打开快速算法,设置为假产生高质量的结果。默认为假。

fast的影响  

fast: falsefast: trueradius: 16radius: 16samples: 24samples: 24color: #000000color: #000000horizontalOffset: 0horizontalOffset: 0verticalOffset: 20verticalOffset: 20spread: 0spread: 0

horizontalOffset: real

horizontalOffset和verticalOffset设置阴影的偏移位置。通常DropShadow的组件实例被锚定到源元件。所以它在源元件的位置上填充。当horizontalOffset和verticalOffset被设置成0,阴影将渲染在源图片的下面,改变horizontalOffset和verticalOffset的值可以让阴影处于源组件实例的相对位置。值在-inf到inf之间。默认为0。

偏移的影响  

horizontalOffset: -20horizontalOffset: 0horizontalOffset: 20radius: 4radius: 4radius: 4samples: 8samples: 8samples: 8color: #000000color: #000000color: #000000verticalOffset: 0verticalOffset: 0verticalOffset: 0spread: 0spread: 0spread: 0


radius :real

半径定义了阴影的软化。巨大的半径让阴影显得更模糊。根据半径值设置足够的样品,才能保能视觉质量。值为0.0(无模糊)到inf。默认为0。

半径的影响  

radius: 0radius: 6radius: 12samples: 24samples: 24samples: 24color: #000000color: #000000color: #000000horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0verticalOffset: 20verticalOffset: 20verticalOffset: 20spread: 0spread: 0spread: 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.0spread: 0.5spread: 1.0radius: 8radius: 8radius: 8samples: 16samples: 16samples: 16color: #000000color: #000000color: #000000horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0verticalOffset: 20verticalOffset: 20verticalOffset: 20


transparentBorder: bool

 

verticalOffset: real

horizontalOffset和verticalOffset设置阴影的偏移位置。通常DropShadow的组件实例被锚定到源元件。所以它在源元件的位置上填充。当horizontalOffset和verticalOffset被设置成0,阴影将渲染在源图片的下面,改变horizontalOffset和verticalOffset的值可以让阴影处于源组件实例的相对位置。值在-inf到inf之间。默认为0。

英文文档上的图表和horizontalOffset是一样的,这里就不单独列出。
0 0