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}}}
覺得有幫助的話,打賞一下唄。。
? ? ? ? ? ?
需要商務合作(定制程序)的歡迎私信!!?