GaussianBlur QML Type
Aplica un efecto de desenfoque de mayor calidad. Más...
| Import Statement: | import Qt5Compat.GraphicalEffects |
| Since: | QtGraphicalEffects 1.0 |
| Inherits: |
Propiedades
- cached : bool
- deviation : real
- radius : real
- samples : int
- source : variant
- transparentBorder : bool
Descripción detallada
Nota: El componente MultiEffect proporciona un efecto de desenfoque con algunas ventajas de rendimiento. Para código nuevo, debe considerarse como una alternativa al uso de Qt Graphical Effects.
El efecto GaussianBlur suaviza la imagen desenfocándola con un algoritmo que utiliza la función gaussiana para calcular el efecto. El efecto produce una mayor calidad que FastBlur, pero es más lento de renderizar.
En particular, la modificación de las propiedades del desenfoque gaussiano requerirá en muchos casos reconstruir el código del shader desde cero, por lo que la animación de las propiedades del efecto puede tener un rendimiento deficiente, además de requerir una gran cantidad de espacio en la caché. Por lo tanto, FastBlur debería preferirse normalmente para desenfoques animados.
| Fuente | Efecto aplicado |
|---|---|
|
|
Nota: Este efecto está disponible cuando se ejecuta con OpenGL.
Ejemplo
El siguiente ejemplo muestra cómo aplicar el efecto.
import QtQuick import QtGraphicalEffects Item { width: 300 height: 300 Image { id: bug source: "images/bug.jpg" sourceSize: Qt.size(parent.width, parent.height) smooth: true visible: false } GaussianBlur { anchors.fill: bug source: bug radius: 8 samples: 16 } }
Realizar el desenfoque en directo es una operación costosa. Un desenfoque gaussiano a pantalla completa, incluso con un número moderado de muestras, sólo se ejecutará a 60 fps en hardware gráfico de gama alta.
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.
deviation : real
Esta propiedad es un parámetro de la función gaussiana que se utiliza al calcular los pesos de los píxeles vecinos para el desenfoque. Una desviación mayor hace que la imagen parezca más borrosa, pero también reduce la calidad del desenfoque. Un valor de desviación muy grande hace que el efecto se parezca un poco a lo que, por ejemplo, produce un algoritmo de desenfoque de caja. Un valor de desviación demasiado pequeño hace que el efecto sea insignificante para los píxeles cercanos al radio.

La imagen de arriba muestra la función gaussiana con dos valores de desviación diferentes, amarillo (1) y cian (2,7). El eje y muestra los pesos, el eje x muestra la distancia entre píxeles.
El valor oscila entre 0,0 (sin desviación) e inf (desviación máxima). Por defecto, la desviación está ligada al radio. Cuando el radio aumenta, la desviación se incrementa automáticamente de forma lineal. Con un valor de radio de 8, el valor por defecto de la desviación es de aproximadamente 2,7034. Este valor produce un compromiso entre la calidad del desenfoque y el desenfoque global.
| Ejemplos de salida con diferentes valores de desviación | ||
|---|---|---|
|
|
|
| desviación: 1 | desviación: 2 | desviación 4 |
| radius: 8 | radius: 8 | radius: 8 |
| samples: 16 | samples: 16 | samples: 16 |
radius : real
Esta propiedad define la distancia de los píxeles vecinos que afectan al desenfoque de un píxel individual. Un radio mayor aumenta el efecto de desenfoque.
El desenfoque ideal se consigue seleccionando samples y radius de forma que samples = 1 + radius * 2, como:
| Radio | Muestras |
|---|---|
| 0 (sin desenfoque) | 1 |
| 1 | 3 |
| 2 | 5 |
| 3 | 7 |
El valor oscila entre 0,0 (sin desenfoque) e inf. Por defecto, la propiedad está establecida en floor(samples / 2.0).
| Ejemplos de salida con diferentes valores de radio | ||
|---|---|---|
|
|
|
| radio: 0 | radio 4 | radio: 8 |
| samples: 16 | samples: 16 | samples: 16 |
| deviation: 3 | deviation: 3 | deviation: 3 |
samples : int
Esta propiedad define cuántas muestras se toman por píxel cuando se realiza el cálculo del desenfoque. Un valor mayor produce mejor calidad, pero es más lento de renderizar.
Idealmente, este valor debería ser el doble del valor más alto del radio requerido más 1, por ejemplo, si el radio se anima entre 0.0 y 4.0, las muestras deberían establecerse en 9.
Por defecto, la propiedad se establece en 9.
Nota: Esta propiedad no está pensada para ser animada. Cambiar esta propiedad puede hacer que se recompilen los shaders OpenGL subyacentes.
source : variant
Esta propiedad define el elemento fuente que va a ser desenfocado.
Nota: No se admite que el efecto se incluya a sí mismo, por ejemplo estableciendo source como el padre del efecto.
transparentBorder : bool
Esta propiedad define el comportamiento del desenfoque cerca de los bordes del elemento, donde el desenfoque del píxel se ve afectado por los píxeles fuera de los bordes de la fuente.
Si la propiedad se establece en true, los píxeles fuera de la fuente se interpretan como transparentes, lo que es similar a la extensión de sujeción a los bordes de OpenGL. El desenfoque se expande ligeramente fuera del área del elemento de efecto.
Si la propiedad está definida como false, se interpreta que los píxeles fuera de la fuente contienen el mismo color que los píxeles en el borde del elemento, lo que es similar al comportamiento de sujeción a borde de OpenGL. El desenfoque no se expande fuera del área del elemento de efecto.
Por defecto, la propiedad está establecida en false.
© 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.









