En esta página

MaskedBlur QML Type

Aplica un efecto de desenfoque con una intensidad variable. Más...

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

Item

Propiedades

Descripción detallada

El efecto MaskedBlur suaviza la imagen desenfocándola. La intensidad del desenfoque puede controlarse para cada píxel mediante maskSource, de modo que algunas partes de la fuente se desenfocan más que otras.

Realizar el desenfoque en directo es una operación costosa. El desenfoque gaussiano a pantalla completa, incluso con un número moderado de muestras, sólo funcionará a 60 fps en hardware gráfico de gama alta.

FuenteMáscaraFuenteEfecto aplicado

Nota: Este efecto está disponible cuando se ejecuta con OpenGL.

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
    }

    LinearGradient {
        id: mask
        anchors.fill: bug
        gradient: Gradient {
            GradientStop { position: 0.2; color: "#ffffffff" }
            GradientStop { position: 0.5; color: "#00ffffff" }
        }
        start: Qt.point(0, 0)
        end: Qt.point(300, 0)
        visible: false
    }

    MaskedBlur {
        anchors.fill: bug
        source: bug
        maskSource: mask
        radius: 16
        samples: 24
    }
}

Documentación de propiedades

cached : alias

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.

maskSource : alias

Esta propiedad define el elemento que controla la intensidad final del desenfoque. El valor del canal alfa del píxel de maskSource define el radio de desenfoque real que se va a utilizar para desenfocar el píxel de origen correspondiente.

Los píxeles opacos de maskSource producen un desenfoque con el valor especificado radius, mientras que los píxeles transparentes suprimen el desenfoque por completo. Los píxeles semitransparentes de maskSource producen desenfoque con un radio que se interpola según el nivel de transparencia del píxel.

radius : alias

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.

Dependiendo del valor del radio, el valor de samples debe ser lo suficientemente grande como para garantizar la calidad visual.

El valor oscila entre 0,0 (sin desenfoque) e inf. Por defecto, la propiedad está ajustada a 0.0 (sin desenfoque).

Ejemplos de salida con diferentes valores de radio

radio: 0 radio: 8 radio: 16
samples: 25samples: 25samples: 25

samples : alias

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.

Esta propiedad no está pensada para ser animada. Cambiar esta propiedad puede hacer que se recompilen los shaders OpenGL subyacentes.

source : alias

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.

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