Sur cette page

Displace QML Type

Déplace les pixels de l'élément source selon la carte de déplacement indiquée. En savoir plus…

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

Item

Propriétés

Description détaillée

SourceSource de déplacementEffet appliqué

Coléoptère noir sur une feuille

Carte de déplacement avec des dégradés rouges et verts

Beetle avec effet de déplacement appliqué

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
    }

    Rectangle {
        id: displacement
        color: Qt.rgba(0.5, 0.5, 1.0, 1.0)
        anchors.fill: parent
        visible: false
        Image {
            anchors.centerIn: parent
            source: "images/glass_normal.png"
            sourceSize: Qt.size(parent.width/2, parent.height/2)
            smooth: true
        }
    }

    Displace {
        anchors.fill: bug
        source: bug
        displacementSource: displacement
        displacement: 0.1
    }
}

Documentation sur les propriétés

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 un tampon de mémoire 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 ».

displacement : real

Cette propriété définit l'échelle du décalage. Plus l'échelle est grande, plus le décalage des pixels est important. Une valeur de 0,0 n'entraîne aucun décalage.

La valeur varie de -1,0 (décalage maximal inversé, selon displacementSource) à 1,0 (décalage maximal, selon displacementSource). Par défaut, la propriété est définie sur 0.0 (aucun décalage).

Exemples de résultats avec différentes valeurs de décalage

Coléoptère déplacé vers l'intérieur

Coccinelle sans cylindrée

Le scarabée s’est déplacé vers l’extérieur

déplacement : -0,2 déplacement : 0,0 décalage : 0,2

displacementSource : variant

Cette propriété définit l'élément qui sera utilisé comme carte de déplacement. L'élément « displacementSource » est rendu dans le tampon de pixels intermédiaire. Les valeurs des composantes rouge et verte du résultat déterminent le déplacement des pixels par rapport à l'élément source.

Le format de la carte de déplacement est similaire à celui des cartes normales dans l’espace tangent, qui peuvent être créées avec la plupart des outils de modélisation 3D. De nombreux outils de traitement d’images prennent en charge la génération de cartes normales. La carte de déplacement pour cet effet peut également être un élément QML coloré de manière appropriée. Comme tout élément QML, il peut être animé. Il est recommandé que la taille de la carte de déplacement corresponde à celle de l’ source.

Les données de déplacement sont interprétées au format RGBA. Pour chaque pixel : le canal rouge stocke le déplacement sur l’axe x, et le canal vert stocke le déplacement sur l’axe y. Les canaux bleu et alpha sont ignorés pour cet effet.

En supposant qu’une valeur de 1,0 sur le canal rouge corresponde au rouge pur (0,0 correspondant à l’absence totale de rouge), cet effet considère qu’une valeur de 0,5 sur la composante d’un pixel n’entraîne aucun déplacement. Les valeurs supérieures à 0,5 déplacent les pixels vers la gauche, tandis que les valeurs inférieures à 0,5 les déplacent vers la droite. De la même manière, les valeurs du canal vert supérieures à 0,5 déplacent les pixels vers le haut, tandis que les valeurs inférieures à 0,5 les déplacent vers le bas. L'amplitude réelle du déplacement en pixels dépend de la propriété « displacement ».

source : variant

Cette propriété définit l'élément source des pixels qui vont être déplacés en fonction des données provenant de displacementSource.

Remarque : il n'est pas possible de faire en sorte que l'effet s'applique à lui-même, par exemple en définissant la source comme étant le parent de l'effet.

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