RecursiveBlur QML Type

繰り返しぼかし、強いぼかし効果を与えます。もっと詳しく...

Import Statement: import Qt5Compat.GraphicalEffects
Since: QtGraphicalEffects 1.0
Inherits:

Item

プロパティ

詳しい説明

RecursiveBlur エフェクトは、ソースを複数回ぼかす再帰的なフィードバックループを使用するアルゴリズムでぼかすことで、イメージをソフトにします。このエフェクトはGaussianBlurFastBlur よりもぼかした結果を与えるかもしれませんが、結果は非同期で生成され、より時間がかかります。

ソース適用されるエフェクト

注意: このエフェクトは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
    }

    RecursiveBlur {
        anchors.fill: bug
        source: bug
        radius: 7.5
        loops: 50
    }
}

プロパティの説明

cached : bool

このプロパティは、レンダリングパフォーマンスを向上させるために、エフェクト出力ピクセルをキャッシュできるようにします。

ソースまたはエフェクトのプロパティが変更されるたびに、キャッシュ内のピクセルを更新する必要があります。エフェクト出力を保存するために余分なメモリバッファが必要になるため、メモリ消費量が増加します。

ソースまたはエフェクトプロパティがアニメーションするときは、キャッシュを無効にすることをお勧めします。

デフォルトでは、このプロパティはfalse に設定されています。


loops : int

このプロパティは、ソースに対して実行されるブラー反復の量を定義します。プロパティが変更されると、ブラーの反復処理が開始されます。値が減少した場合、または値がゼロから非ゼロに変化した場合、ソースからスナップショットが取得されます。スナップショットは、処理の開始点として使用されます。

反復ループは可能な限り高速に実行しようとする。速度は、VSYNCまたは1つのブラーステップに必要な時間、あるいはその両方によって制限されるかもしれない。より遅いペースでぼかしを実行することが望ましい場合もある。その場合、値を増加させるAnimationでプロパティを制御すると便利であろう。

値の範囲は0からinfまでである。デフォルトでは、このプロパティは0 に設定されています。

loopsの値を変えた出力例

ループ:4 ループ数:20 ループ70
radius: 7.5radius: 7.5radius: 7.5

progress : real

このプロパティは、非同期ソースぼかし処理の進行状況を 0.0(何もぼかされていない)か ら 1.0(終了)まで保持する。


radius : real

このプロパティは、個々のピクセルのぼかしに影響を与える隣接ピクセルの距離を定義する。半径が大きいほど品質が向上しますが、レンダリングに時間がかかります。

注意:このエフェクトの半径値は、頻繁に変更したりアニメーションさせたりすることを意図していません。正しい使用方法は、正しい値を設定し、反復ぼかしシーケンスの間ずっと変更しないことです。

値の範囲は(ぼかしなし)~16.0(最大ぼかしステップ)です。デフォルトでは、このプロパティは0.0 (ぼかしなし)に設定されています。

半径値を変えた出力例

半径: 2.5 半径4.5 半径:7.5
loops: 20loops: 20loops: 20

source : variant

このプロパティは、ぼかされるソースアイテムを定義します。

注意: 例えば source をエフェクトの親に設定するなど、エフェクトに自分自身を含めることはサポートされていません。


transparentBorder : bool

このプロパティは、アイテムのエッジ付近のぼかし動作を定義し、ピクセルのぼかしは、ソースのエッジの外側のピクセルに影響されます。

このプロパティがtrue に設定されている場合、ソースの外側のピクセルは透明であると解釈され、これは OpenGL のクランプからボーダーへの拡張に似ています。ぼかしは、効果項目領域の外側でわずかに拡張される。

このプロパティがfalse に設定されている場合、ソースの外側のピクセルはアイテムの端のピクセルと同じ色を含むと解釈され、これは OpenGL のクランプから端への動作に似ています。ぼかしは効果アイテムの領域外には拡大しない。

デフォルトでは、このプロパティはfalse に設定されています。

transparentBorder の値を変えた出力例

transparentBorder: false transparentBorder: true
loops: 20loops: 20
radius: 7.5radius: 7.5

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.