Sur cette page

RecursiveBlur QML Type

Floute de manière répétée, ce qui donne un effet de flou important. Plus d'informations...

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

Item

Propriétés

Description détaillée

L'effet RecursiveBlur adoucit l'image en la rendant floue à l'aide d'un algorithme qui utilise une boucle de rétroaction récursive pour rendre la source floue plusieurs fois. L'effet peut donner des résultats plus flous que GaussianBlur ou FastBlur, mais le résultat est produit de manière asynchrone et prend plus de temps.

SourceEffet appliqué

Remarque : cet effet est disponible avec OpenGL.

Exemple

L'exemple suivant montre comment appliquer l'effet.

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
    }
}

Propriété Documentation

cached : bool

Cette propriété permet de mettre en cache les pixels de sortie de l'effet afin d'améliorer les performances de rendu.

Chaque fois que les propriétés de la source ou de l'effet sont modifiées, les pixels du cache doivent être mis à jour. La consommation de mémoire augmente, car une mémoire tampon supplémentaire est nécessaire pour stocker la sortie de l'effet.

Il est recommandé de désactiver le cache lorsque les propriétés de la source ou de l'effet sont animées.

Par défaut, la propriété est définie sur false.

loops : int

Cette propriété définit le nombre d'itérations de flou qui vont être effectuées pour la source. Lorsque la propriété change, le processus de flou itératif commence. Si la valeur est diminuée ou si la valeur passe de zéro à non-zéro, un instantané est pris de la source. L'instantané est utilisé comme point de départ du processus.

La boucle d'itération essaie de fonctionner aussi vite que possible. La vitesse peut être limitée par la VSYNC ou le temps nécessaire pour une étape de flou, ou les deux. Parfois, il peut être souhaitable d'effectuer le flou à un rythme plus lent. Dans ce cas, il peut être pratique de contrôler la propriété avec Animation qui augmente la valeur.

La valeur est comprise entre 0 et inf. Par défaut, la propriété est définie sur 0.

Exemples de sortie avec différentes valeurs de boucles

boucles : 4 boucles : 20 boucles : 70
radius: 7.5radius: 7.5radius: 7.5

progress : real

Cette propriété indique la progression du processus de brouillage asynchrone de la source, de 0.0 (rien n'est brouillé) à 1.0 (terminé).

radius : real

Cette propriété définit la distance entre les pixels voisins qui influencent le flou des pixels individuels. Un rayon plus grand offre une meilleure qualité, mais le rendu est plus lent.

Remarque: la valeur du rayon de cet effet n'est pas destinée à être modifiée ou animée fréquemment. La bonne façon de l'utiliser est de définir la valeur correcte et de la maintenir inchangée pendant toute la durée de la séquence de flou itératif.

La valeur est comprise entre (pas de flou) et 16,0 (pas de flou maximum). Par défaut, la propriété est définie sur 0.0 (pas de flou).

Exemples de résultats avec différentes valeurs de rayon

rayon : 2,5 rayon : 4.5 rayon : 7.5
loops: 20loops: 20loops: 20

source : variant

Cette propriété définit l'élément source qui sera rendu flou.

Remarque : il n'est pas possible de laisser l'effet s'inclure lui-même, par exemple en définissant la source sur le parent de l'effet.

transparentBorder : bool

Cette propriété définit le comportement du flou près des bords de l'élément, où le flou des pixels est affecté par les pixels à l'extérieur des bords de la source.

Si la propriété est définie sur true, les pixels situés à l'extérieur de la source sont interprétés comme étant transparents, ce qui est similaire à l'extension de la pince à la bordure d'OpenGL. Le flou est légèrement étendu en dehors de la zone de l'élément d'effet.

Si la propriété vaut false, les pixels situés à l'extérieur de la source sont interprétés comme contenant la même couleur que les pixels situés au bord de l'élément, ce qui est similaire au comportement "clamp-to-edge" d'OpenGL. Le flou ne s'étend pas en dehors de la zone de l'élément à effet.

Par défaut, la propriété est définie sur false.

Exemples de sortie avec différentes valeurs de transparentBorder

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

© 2026 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.