JavaFX: cómo hacer las cosas borrosas

JavaFX ofrece tres clases de efectos que pueden hacer que un objeto borroso. Cada una de estas clases utiliza un método diferente para aplicar el desenfoque:

  • BoxBlur: Se aplica una técnica de desenfoque simple y eficiente en la que cada pixel en la región borrosa se calcula promediando sus píxeles vecinos en la imagen de entrada.

  • Desenfoque gaussiano: Utiliza un algoritmo de desenfoque gaussiano, que es más preciso pero menos eficiente que un borrón caja.

  • Motionblur: Desdibuja la forma direccional, creando el efecto de movimiento.

Esta tabla muestra los miembros de las tres clases de efectos de desenfoque.

Los BoxBlur, GaussianBlur y Clases motionblur
ConstructoresExplicación
BoxBlur ()Crea un nuevo efecto BoxBlur con la configuración predeterminada.
Desenfoque gaussiano()Crea un nuevo efecto GaussianBlur con la configuración predeterminada.
Motionblur ()Crea un nuevo efecto Motionblur con la configuración predeterminada.
Métodos BoxBlurExplicación
void setHeight (valor doble)Ajusta el tamaño vertical del efecto borroso.
void setWidth (valor doble)Establece el tamaño horizontal del efecto de desenfoque.
setIterations void (int valor)Establece el número de veces que el efecto se debe repetir. Thedefault es 1.
Métodos GaussianBlurExplicación
void setRadius (valor doble)El radio de efecto de movimiento. El valor predeterminado es 10,0.
Métodos motionblurExplicación
void setAngle (valor doble)El ángulo del efecto de movimiento, en grados. El is0.0 defecto.
void setRadius (valor doble)El radio de efecto de movimiento. El valor predeterminado es 10.

La figura muestra el efecto de cada uno de estos tipos de falta de definición en una forma de texto. Se utilizó el siguiente código para crear estos tres faltas de definición:

T1 Text = nuevo texto ("BoxBlur") - t1.setFont (nueva Fuente ("Times New Roman", 60)) - t1.setFill (Color.LIGHTGRAY) -t1.setStroke (Color.BLACK) -t1.setEffect ( nueva BoxBlur ()) - t2 Text = nuevo texto ("GaussianBlur") - t2.setFont (nueva Fuente ("Times New Roman", 60)) - t2.setFill (Color.LIGHTGRAY) -t2.setStroke (Color.BLACK ) -t2.setEffect (nueva GaussianBlur ()) - Texto t3 = nuevo texto ("Motionblur") - t3.setFont (nueva Fuente ("Times New Roman", 60)) - t3.setFill (Color.LIGHTGRAY) -T3 .setStroke (Color.BLACK) -t3.setEffect (nueva Motionblur ()) -

Como se puede ver, se utilizaron los valores predeterminados para cada una de las manchas. Si lo desea, puede utilizar los métodos enumerados en la tabla para modificar la apariencia de los efectos de desenfoque.

imagen0.jpg


» » » » JavaFX: cómo hacer las cosas borrosas