QML类型说明-GaussianBlur

来源:互联网 发布:东方财富 for mac 编辑:程序博客网 时间:2024/06/10 00:34

GaussianBlur

ImportStatement:   import QtGraphicalEffects 1.0

Since:  QtGraphicalEffects 1.0

Inherits:      Item

 

Properties

cached :bool

deviation :real

radius :real

samples :int

source :variant

transparentBorder: bool

 

DetailedDescription

GaussianBlur通过高斯函数计算模糊的算法来软化图像。模糊的质量比FastBlur高,但渲染的较慢。

源影响

 


实现代码:

importQtQuick 2.0

importQtGraphicalEffects 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

    }

 

    GaussianBlur {

        anchors.fill: bug

        source: bug

        radius: 8

        samples: 16

    }

}

 

PropertyDocumentation

cached :bool

是否缓冲输出,缓冲提高渲染效率,但消耗更多内存。每当源或影响属性发生变化,缓冲都会更新。当源和影响属性是动画时,推荐关闭缓冲,默认为假。

 

deviation :real

这是高斯函数的一个参数,用于计算相邻像素在模糊中的权重。巨大的deviation使图片更模糊,但同时降低模糊的质量。非常巨大的值让影响看上去有点类似于经过模糊算法的一个盒子。太小的值使半径周围的像素变得微不足道。


上图展现了高斯函数两个不同的deviation值,黄色为1,青色为2.7。y轴是权重,x轴是距离。

值在0.0(没有偏差)到inf(最大偏差)之间。默认情况下,devaition绑定半径。当半径增加,devaition自动线性增加。当半径值为8,devaition值大约为2.7034。这个值是模糊质量和模糊强度的妥协结果。

Deviation的影响  

deviation: 1deviation: 2deviation: 4radius: 8radius: 8radius: 8samples: 16samples: 16samples: 16

 

radius :real

可以影响单个像素模糊结果的像素所在范围。就是该像素周围的一个圈,圈内的像素都影响该像素的模糊结果。较大的半径能提高模糊效果。为了确保模糊质量,较大的半径需要更多的样品。值从0.0(没有模糊)到inf。默认属性值为0.0。

半径的影响  

radius: 0radius: 4radius: 8samples: 16samples: 16samples: 16deviation: 3deviation: 3deviation: 3


samples :int

计算模糊时,每像素取多少样品。更多的样品有更好的模糊质量,但渲染得更慢。

理想情况下,它应该是半径值最大值两倍。例如,如果半径是在0.0到0.4之间的动画,样品之应该设置成8。这个属性的值在0到32之间,默认为0。这个属性不能动画化,因为改变这个属性会导致OpenGL的着色器重新编译。

 

source :variant

需要模糊的源,它不能模糊自身,所以不能设置父到source上。

 

transparentBorder: bool

模糊在源实例边缘附近的行为,在源边缘是否受外部像素的影响。

如果属性为真,源外边的像素被解释为透明,这类似于OpenGL的clamp-to-border扩展行为,模糊扩展到源实例的外部。

如果属性为假,源外边的像素被解释为和边缘一个颜色,这类似于OpenGL的clamp-to-edge扩展行为,模糊不会扩展到源实例的外部。

默认为假。

transparentBorder的影响  

transparentBorder: falsetransparentBorder: trueradius: 8radius: 8samples: 16samples: 16deviation: 2.7deviation: 2.7

0 0
原创粉丝点击