DirectionalBlur QML 类型

将模糊效果应用到指定方向。 更多...

导入语句import Qt5Compat.GraphicalEffects
QtGraphicalEffects 1.0
继承自

Item

属性

详细说明

此效果会产生一种直观的印象,即源项似乎沿模糊方向移动。模糊效果应用到每个像素的两侧,因此将方向设置为 0 和 180 会得到相同的结果。

其他可用的 motionblur 效果有 ZoomBlurRadialBlur

应用效果

注意: 此效果在运行 OpenGL 时可用。

示例

以下示例展示了如何应用此效果。

import QtQuick
import Qt5Compat.GraphicalEffects

Item {
    width: 300
    height: 300

    Image {
        id: bug
        source: "images/bug.jpg"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }

    DirectionalBlur {
        anchors.fill: bug
        source: bug
        angle: 90
        length: 32
        samples: 24
    }
}

属性文档

angle : real

此属性定义了模糊的方向。模糊效果应用到每个像素的两侧,因此将方向设置为 0 和 180 会得到相同的结果。

值范围为 -180.0 到 180.0。默认情况下,属性设为 0.0

输出具有不同角度值的示例

angle: 0.0angle: 45.0angle: 90.0
samples: 24samples: 24samples: 24
length: 32length: 32length: 32

cached : bool

此属性允许将效果输出像素缓存,以改进渲染性能。

每次更改源或效果属性时,都必须更新缓存中的像素。由于需要额外的内存缓冲区来存储效果输出,内存消耗会增加。

当源或效果属性进行动画处理时,建议禁用缓存。

默认情况下,属性设为 false


length : real

此属性定义了每个像素可感知的移动量。移动量在像素的两侧均匀分配。

模糊质量取决于 samples 属性。如果 length 值很大,则需要更多样本以保持高质量的视觉。

值范围从0.0到无穷大。默认情况下,属性设置为 0.0(无模糊)。

不同长度值的输出示例

length: 0.0length: 32.0length: 48.0
samples: 24samples: 24samples: 24
角度: 0角度: 0角度: 0

samples : int

该属性定义在执行模糊计算时每像素取样的数量。较大的值会产生更好的质量,但渲染速度会慢。

此属性不应用于动画。更改此属性可能会导致底层OpenGL着色器重新编译。

允许的值介于0到无穷大之间(实际最大值取决于GPU)。默认情况下,属性设置为 0(无取样)。


source : variant

该属性定义将要被模糊的源项。

注意:不支持让效果包括自身,例如通过将源设置为效果的父级。


transparentBorder : bool

该属性定义了项的边缘附近的模糊行为,其中像素模糊受到源边缘外像素的影响。

如果属性设置为 true,则将源外的像素解释为透明,类似于OpenGL的clamp-to-border扩展。模糊稍微扩展到效果项区域之外。

如果属性设置为 false,则将源外的像素解释为与项边缘处的像素具有相同的颜色,类似于OpenGL的clamp-to-edge行为。模糊不会扩展到效果项区域之外。

默认情况下,属性设为 false


© 2024 Qt公司有限公司。此处包含的文档贡献的版权归其各自的所有者。本提供的文档是根据由自由软件基金会发布的GNU自由文档许可协议的第1.3版条款许可的。Qt及其相应的徽标是芬兰的Qt公司及其在全世界其他国家的商标。所有其他商标均为其各自所有者的财产。