Displace QML Type
Déplace les pixels de l'élément source en fonction de la carte de déplacement donnée. Plus d'informations...
| Import Statement: | import Qt5Compat.GraphicalEffects |
| Since: | QtGraphicalEffects 1.0 |
| Inherits: |
Propriétés
- cached : bool
- displacement : real
- displacementSource : variant
- source : variant
Description détaillée
| Source | Source de déplacement | Effet appliqué |
|---|---|---|
|
|
|
Exemple d'application
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 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.
displacement : real
Cette propriété définit l'échelle de déplacement. Plus l'échelle est grande, plus le déplacement des pixels est important. La valeur 0,0 n'entraîne aucun déplacement.
La valeur est comprise entre -1,0 (décalage maximal inversé, conformément à displacementSource) et 1,0 (décalage maximal, conformément à displacementSource). Par défaut, la propriété est définie sur 0.0 (pas de déplacement).
| Exemples de sorties avec différentes valeurs de déplacement | ||
|---|---|---|
|
|
|
| déplacement : -0,2 | déplacement : 0.0 | déplacement : 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 de l'élément source.
Le format de la carte de déplacement est similaire à celui des cartes normales de l'espace tangent, qui peuvent être créées avec la plupart des outils de modélisation 3D. De nombreux outils de traitement d'images permettent de générer des cartes de normalité. 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, elle peut être animée. Il est recommandé que la taille de la carte de déplacement corresponde à la taille du site 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 des x et le canal vert stocke le déplacement sur l'axe des y. Les canaux bleu et alpha sont ignorés. Les canaux bleu et alpha sont ignorés pour cet effet.
En supposant que la valeur 1,0 du canal rouge soit entièrement rouge (0,0 n'ayant aucun rouge), cet effet considère que la valeur 0,5 de la composante du 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 et les valeurs inférieures à 0,5 déplacent les pixels vers le bas. La quantité réelle de déplacement en pixels dépend de la propriété displacement.
source : variant
Cette propriété définit l'élément source pour les pixels qui vont être déplacés en fonction des données provenant de displacementSource.
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.
© 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.





