JavaFX: como fazer as coisas obscuras

JavaFX fornece três classes de efeitos que podem fazer um objeto borrada. Cada uma destas classes usa um método diferente para aplicar o borrão:

  • BoxBlur: Aplica-se uma técnica de desfoque simples e eficiente, em que cada pixel da região turva é calculado pela média de seus pixels vizinhos na imagem de entrada.

  • GaussianBlur: Usa um algoritmo de desfocagem de Gauss, que é mais precisa mas menos eficiente do que uma caixa de borrão.

  • motionblur: Borra a forma direcional, criando o efeito de movimento.

Esta tabela mostra os membros das três classes efeito de borrão.

Os BoxBlur, GaussianBlur e Classes motionblur
construtoresExplicação
BoxBlur ()Cria um novo efeito BoxBlur com as configurações padrão.
GaussianBlur ()Cria um novo efeito GaussianBlur com as configurações padrão.
Motionblur ()Cria um novo efeito motionblur com as configurações padrão.
Métodos BoxBlurExplicação
setHeight void (valor duplo)Define o tamanho vertical do efeito de borrão.
setWidth void (valor duplo)Define o tamanho horizontal do efeito de borrão.
setIterations void (int valor)Define o número de vezes que o efeito deve ser repetido. Thedefault é 1.
Métodos GaussianBlurExplicação
setRadius void (valor duplo)O raio do efeito de borrão. O padrão é 10,0.
Métodos motionblurExplicação
vazio setAngle (valor duplo)O ângulo do efeito de movimento, em graus. O is0.0 padrão.
setRadius void (valor duplo)O raio do efeito de borrão. O padrão é 10.

A figura mostra o efeito de cada um destes tipos borrão sobre uma forma de texto. O código a seguir foi usada para criar estes três borrões:

t1 texto = new texto ( "BoxBlur") - t1.setFont (nova Font ( "Times New Roman", 60)) - t1.setFill (Color.LIGHTGRAY) -t1.setStroke (Color.BLACK) -t1.setEffect ( nova BoxBlur ()) - t2 Text = new Texto ( "GaussianBlur") - t2.setFont (nova Font ( "Times New Roman", 60)) - t2.setFill (Color.LIGHTGRAY) -t2.setStroke (Color.BLACK ) -t2.setEffect (nova GaussianBlur ()) - Texto t3 = new Texto ( "motionblur") - t3.setFont (nova Font ( "Times New Roman", 60)) - t3.setFill (Color.LIGHTGRAY) -T3 .setStroke (Color.BLACK) -t3.setEffect (nova motionblur ()) -

Como você pode ver, os valores padrão foram utilizados para cada um dos borrões. Se desejar, você pode usar os métodos listados na tabela para ajustar a aparência dos efeitos de blur.

image0.jpg

menu