Skip to content

Máscara de fondo

backgroundMask permite que las partículas atraviesen o se mezclen con una capa de fondo enmascarada.

Ejemplos

Cubierta estática (legacy)

ts
backgroundMask: {
  enable: true,
  cover: {
    color: {
      value: "#0b1020",
    },
    opacity: 1,
  },
}

Draw callback dinámico (desde 4.3.0)

ts
backgroundMask: {
  enable: true,
  cover: {
    draw: (ctx) => {
      const t = performance.now() * 0.001;
      ctx.fillStyle = `hsl(${(t * 30) % 360}, 70%, 50%)`;
      ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
    },
  },
}

Elemento externo (desde 4.3.0)

ts
backgroundMask: {
  enable: true,
  cover: {
    element: "#myVideo",
    opacity: 0.8,
  },
}

Propiedades

PropiedadTipoDescripción
enablebooleanActiva el enmascaramiento de fondo
compositeGlobalCompositeOperationOperación de composición canvas (predeterminado: "destination-out")
coverBackgroundMaskCoverConfiguración de cubierta

cover (BackgroundMaskCover)

PropiedadTipoDescripción
colorstring / OptionsColorColor de cubierta
imagestringURL de la imagen de cubierta
opacitynumberNivel alfa de cubierta (0..1, predeterminado: 1)
elementstring / HTMLCanvasElement / OffscreenCanvas / HTMLVideoElement / HTMLImageElementElemento externo o selector CSS dibujado automáticamente cada frame (desde 4.3.0)
draw(context: BackgroundDrawContext, delta: IDelta) => voidCallback de dibujo personalizado en el contexto principal del canvas cada frame (desde 4.3.0)

Orden de capas (desde 4.3.0)

  1. clear() — limpieza de píxeles del canvas
  2. cover.element dibujo automático (si se establece)
  3. cover.draw callback (si se establece)
  4. Cubierta estática (color/imagen) — fallback
  5. Operación de composición global

Cuándo usarlo

  • Efectos tipo foco.
  • Secciones de héroes con mucho contraste.
  • Interacciones en capas sobre fondos oscuros.

Referencia fuente