1、概述
DirectionalBlur是QML(Qt Modeling Language)中用于创建方向模糊效果的一种图形效果类型。它通过对源图像的像素进行模糊处理,产生一种源项目朝着模糊方向移动的感知印象。这种模糊效果被应用到每个像素的两侧,因此设置方向为0和180度时会产生相同的结果。DirectionalBlur是QtGraphicalEffects模块的一部分,自QtGraphicalEffects 1.0版本起就可用。
2、重要属性
- angle:定义模糊的方向。值的范围为-180.0到180.0,默认值为0.0。模糊效果被应用到每个像素的两侧,因此将方向设置为0和180度会产生相同的结果。
- cached:指定是否缓存效果输出像素以提高渲染性能。默认值为false。启用缓存会增加内存消耗,因为需要额外的内存缓冲区来存储效果输出。当源或效果属性更改时,必须更新缓存中的像素。
- length:定义每个像素移动的感知量,即模糊的程度。值范围为0.0到无穷大,默认值为0.0(无模糊)。模糊的质量取决于samples属性。如果length值较大,则需要更多的样本来保持较高的视觉质量。
- samples:定义模糊计算时每个像素采集的采样数。值越大,质量越好,但渲染速度越慢。此属性不触发动画。更改此属性可能会导致重新编译基础OpenGL着色器。值的范围为0到无穷大(实际最大值取决于GPU),默认值为0(无样本)。
- source:定义要模糊的源项。注意,不支持让效果包含自身。
- transparentBorder:定义项目边缘附近的模糊行为。如果设置为true,则源外部的像素将被解释为透明的,这类似于OpenGL钳制到边框扩展的行为,模糊在效果项区域外稍微展开。如果设置为false,则源之外的像素将被解释为包含与项目边缘像素相同的颜色,这类似于OpenGL钳制到边缘的行为,模糊不会在效果项区域之外展开。默认值为false。
Window {width: 300; height: 300visible: trueItem {width: 300height: 300Image {id: bugsource: "res/1.jpg"sourceSize: Qt.size(parent.width, parent.height)smooth: truevisible: false}DirectionalBlur {anchors.fill: bugsource: bugangle: 90length: 32samples: 24}}}
觉得有帮助的话,打赏一下呗。。
需要商务合作(定制程序)的欢迎私信!!