Displace QML Type
Mueve los píxeles del elemento de origen de acuerdo con el mapa de desplazamiento dado. Más...
| Import Statement: | import Qt5Compat.GraphicalEffects |
| Since: | QtGraphicalEffects 1.0 |
| Inherits: |
Propiedades
- cached : bool
- displacement : real
- displacementSource : variant
- source : variant
Descripción detallada
| Fuente | Fuente de desplazamiento | Efecto aplicado |
|---|---|---|
|
|
|
Ejemplo
El siguiente ejemplo muestra cómo aplicar el efecto.
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 } }
Documentación de propiedades
cached : bool
Esta propiedad permite almacenar en caché los píxeles de salida del efecto para mejorar el rendimiento del renderizado.
Cada vez que se cambian las propiedades de la fuente o del efecto, los píxeles de la caché deben actualizarse. El consumo de memoria se incrementa, ya que se requiere un buffer extra de memoria para almacenar la salida del efecto.
Se recomienda desactivar la caché cuando se animen la fuente o las propiedades del efecto.
Por defecto, la propiedad está establecida en false.
displacement : real
Esta propiedad define la escala para el desplazamiento. Cuanto mayor sea la escala, mayor será el desplazamiento de los píxeles. El valor establecido a 0.0 no provoca ningún desplazamiento.
El valor oscila entre -1.0 (desplazamiento máximo invertido, según displacementSource) y 1.0 (desplazamiento máximo, según displacementSource). Por defecto, la propiedad está ajustada a 0.0 (sin desplazamiento).
| Ejemplos de salida con diferentes valores de desplazamiento | ||
|---|---|---|
|
|
|
| desplazamiento: -0.2 | desplazamiento: 0.0 | desplazamiento: 0.2 |
displacementSource : variant
Esta propiedad define el elemento que se va a utilizar como mapa de desplazamiento. El elemento displacementSource se renderiza en el búfer de píxeles intermedio. Los valores de los componentes rojo y verde del resultado determinan el desplazamiento de los píxeles desde el elemento fuente.
El formato del mapa de desplazamiento es similar al de los mapas normales del espacio tangente, que pueden crearse con la mayoría de las herramientas de modelado 3D. Muchas herramientas de procesamiento de imágenes incluyen el soporte para generar mapas normales. Alternativamente, el mapa de desplazamiento para este efecto también puede ser un elemento QML coloreado adecuadamente. Como cualquier elemento QML, puede animarse. Se recomienda que el tamaño del mapa de desplazamiento coincida con el tamaño de source.
Los datos de desplazamiento se interpretan en formato RGBA. Para cada píxel: el canal rojo almacena el desplazamiento del eje x, y el canal verde almacena el desplazamiento del eje y. Los canales azul y alfa se ignoran para este efecto.
Asumiendo que el valor 1.0 del canal rojo es completamente rojo (0.0 no tiene rojo en absoluto), este efecto considera que el valor 0.5 del componente del píxel no causa ningún desplazamiento. Los valores superiores a 0,5 desplazan los píxeles hacia la izquierda, mientras que los valores inferiores a 0,5 lo hacen hacia la derecha. De forma similar, los valores del canal verde por encima de 0,5 desplazan los píxeles hacia arriba, y los valores por debajo de 0,5 desplazan los píxeles hacia abajo. La cantidad real de desplazamiento en píxeles depende de la propiedad displacement.
source : variant
Esta propiedad define el elemento fuente para los píxeles que van a ser desplazados según los datos de displacementSource.
Nota: No se admite que el efecto se incluya a sí mismo, por ejemplo estableciendo source al padre del efecto.
© 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.





