FastBlur
ImportStatement: import QtGraphicalEffects 1.0
Since: QtGraphicalEffects 1.0
Inherits: Item
Properties
cached :bool
radius :real
source :variant
transparentBorder: bool
DetailedDescription
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
}
FastBlur {
anchors.fill: bug
source: bug
radius: 32
}
}
PropertyDocumentation
cached :bool
是否缓存输出,缓存能提高渲染执行,但消耗更多内存。当源或影响属性发生变化,缓冲中的像素必然被更新。当源或影响属性是动画性的,推荐关闭缓冲,默认为假。
radius :real
可以影响单个像素模糊结果的像素所在范围。就是该像素周围的一个圈,圈内的像素都影响该像素的模糊结果。较大的半径能提高模糊影响。但FastBlur的算法可能在内部减少半径的准确性以提高渲染性能。值从0.0(没有模糊)到inf。当半径值超过64,模糊的视觉质量降低。默认属性值为0.0。
半径的影响 | ||
---|---|---|
| | |
radius: 0 | radius: 32 | radius: 64 |
source :variant
用来模糊的源。注意它不支持影响自身,所以不能设置父到source属性上。
transparentBorder: bool
模糊在源实例边缘附近的行为,在源边缘是否受外部像素的影响。
如果属性为真,源外边的像素被解释为透明,这类似于OpenGL的clamp-to-border扩展行为,模糊扩展到源实例的外部。
如果属性为假,源外边的像素被解释为和边缘一个颜色,这类似于OpenGL的clamp-to-edge扩展行为,模糊不会扩展到源实例的外部。
默认为假。
transparentBorder的影响 | |
|
|
transparentBorder: false | transparentBorder: true |
radius: 64 | radius: 64 |